diff --git a/assets/js/binary.js b/assets/js/binary.js index 02c00ca..7b94446 100644 --- a/assets/js/binary.js +++ b/assets/js/binary.js @@ -1,5 +1,5 @@ -// meta={"simUrl":"https://trg-arcade.userpxt.io/v1.12.34/---simulator","cdnUrl":"https://pxt.azureedge.net","version":"0.0.0","target":"arcade","targetVersion":"1.12.34"} -// total=1274979 new=7.02% cached=87.43% other=5.55% +// meta={"simUrl":"https://trg-arcade.userpxt.io/v1.12.34/---simulator","cdnUrl":"https://pxt.azureedge.net","version":"1.0.0","target":"arcade","targetVersion":"1.12.34","repo":"unsignedarduino/extranumberblocks"} +// total=1241616 new=5.85% cached=88.48% other=5.67% (function (ectx) { 'use strict'; const runtime = ectx.runtime; @@ -429,7 +429,7 @@ const pxsim_pxtrt = pxsim.pxtrt; const pxsim_numops = pxsim.numops; -function _main___P61151(s) { +function _main___P18448(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -439,280 +439,280 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - globals._intervals___37758 = (undefined); - globals._pollEventQueue___37771 = (undefined); - globals.minPriority___37777 = (1); + globals._intervals___4387 = (undefined); + globals._pollEventQueue___4396 = (undefined); + globals.minPriority___375 = (1); r0 = pxsim_Array__mk(); s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P37778); - globals.listeners___37779 = (s.tmp_0); - globals.globalVolume___37958 = (null); - globals.playToneID___37968 = (0); - r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C37972_VT); + r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P4399); + globals.listeners___4400 = (s.tmp_0); + globals.globalVolume___4453 = (null); + globals.playToneID___4460 = (0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1626_VT); s.tmp_0 = r0; - s.tmp_1 = music_Melody_constructor__P37984_mk(s); + s.tmp_1 = music_Melody_constructor__P1629_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___37997 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C37972_VT); + globals.wawawawaa___1647 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1626_VT); s.tmp_0 = r0; - s.tmp_1 = music_Melody_constructor__P37984_mk(s); + s.tmp_1 = music_Melody_constructor__P1629_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___38003 = (s.tmp_0); - globals.brightness___38246 = (100); + globals.powerUp___1650 = (s.tmp_0); + globals.brightness___1951 = (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", _hex43869); - globals.font8___38276 = (s.tmp_0); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex8343); + globals.font8___1975 = (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", _hex43871); - globals.font12___38278 = (s.tmp_0); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex8345); + globals.font12___1976 = (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", _hex45746); - globals.font5___38283 = (s.tmp_0); - globals.__updated___38290 = (false); - r0 = pxsim.control.runInParallel(control___screen_inline__P38295); - r0 = pxsim_pxtcore.setPalette(_hex38321); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex10160); + globals.font5___1980 = (s.tmp_0); + globals.__updated___4567 = (false); + r0 = pxsim.control.runInParallel(control___screen_inline__P4570); + r0 = pxsim_pxtcore.setPalette(_hex4581); r0 = pxsim_pxtcore.getConfig(2102, 160); s.tmp_0 = r0; r0 = pxsim_pxtcore.getConfig(2103, 120); s.tmp_1 = r0; r0 = pxsim.image.create(s.tmp_0, s.tmp_1); - globals.screen___38324 = (r0); - s.tmp_0 = control___screen_setupUpdate__P38292_mk(s); - s.tmp_0.arg0 = _screen_internal_inline__P38333; + globals.screen___2032 = (r0); + s.tmp_0 = control___screen_setupUpdate__P1994_mk(s); + s.tmp_0.arg0 = _screen_internal_inline__P4590; s.callLocIdx = 6; s.pc = 3; return s.tmp_0; case 3: r0 = s.retval; - globals.control_EventContext_onStats___37826 = (_screen_internal_inline__P38338); - globals.RUN_KEY___38345 = ("#run"); - globals.SCOPE_KEY___38346 = ("#scope"); - s.tmp_0 = settings_initScopes__P38358_mk(s); + globals.control_EventContext_onStats___398 = (_screen_internal_inline__P4595); + globals.RUN_KEY___4600 = ("#run"); + globals.SCOPE_KEY___4601 = ("#scope"); + s.tmp_0 = settings_initScopes__P4612_mk(s); s.callLocIdx = 7; s.pc = 4; return s.tmp_0; case 4: r0 = s.retval; - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 5; s.tmp_1.arg2 = 4; s.callLocIdx = 8; s.pc = 5; return s.tmp_1; case 5: r0 = s.retval; - globals.A___38417 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + globals.A___2113 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 6; s.tmp_1.arg2 = 5; s.callLocIdx = 9; s.pc = 6; return s.tmp_1; case 6: r0 = s.retval; - globals.B___38419 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + globals.B___2114 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 1; s.tmp_1.arg2 = 47; s.callLocIdx = 10; s.pc = 7; return s.tmp_1; case 7: r0 = s.retval; - globals.left___38421 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + globals.left___2115 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 2; s.tmp_1.arg2 = 49; s.callLocIdx = 11; s.pc = 8; return s.tmp_1; case 8: r0 = s.retval; - globals.up___38423 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + globals.up___2116 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 3; s.tmp_1.arg2 = 48; s.callLocIdx = 12; s.pc = 9; return s.tmp_1; case 9: r0 = s.retval; - globals.right___38425 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + globals.right___2117 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 4; s.tmp_1.arg2 = 50; s.callLocIdx = 13; s.pc = 10; return s.tmp_1; case 10: r0 = s.retval; - globals.down___38427 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); + globals.down___2118 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 7; s.tmp_1.arg2 = 51; s.callLocIdx = 14; s.pc = 11; return s.tmp_1; case 11: r0 = s.retval; - globals.menu___38429 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C38524_VT); + globals.menu___2119 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C2134_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Controller_constructor__P38550_mk(s); + s.tmp_1 = controller_Controller_constructor__P2138_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 2; s.tmp_1.arg2 = undefined; s.callLocIdx = 15; s.pc = 12; return s.tmp_1; case 12: r0 = s.retval; - globals.player2___38431 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C38524_VT); + globals.player2___2120 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C2134_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Controller_constructor__P38550_mk(s); + s.tmp_1 = controller_Controller_constructor__P2138_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 3; s.tmp_1.arg2 = undefined; s.callLocIdx = 16; s.pc = 13; return s.tmp_1; case 13: r0 = s.retval; - globals.player3___38433 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C38524_VT); + globals.player3___2121 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C2134_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Controller_constructor__P38550_mk(s); + s.tmp_1 = controller_Controller_constructor__P2138_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 4; s.tmp_1.arg2 = undefined; s.callLocIdx = 17; s.pc = 14; return s.tmp_1; case 14: r0 = s.retval; - globals.player4___38435 = (s.tmp_0); - s.tmp_0 = controller__player1__P38519_mk(s); + globals.player4___2122 = (s.tmp_0); + s.tmp_0 = controller__player1__P2128_mk(s); s.callLocIdx = 18; s.pc = 15; return s.tmp_0; case 15: r0 = s.retval; - globals.player1___38437 = (r0); - s.tmp_0 = game_addScenePopHandler__P38440_mk(s); - s.tmp_0.arg0 = controller_inline__P38441; + globals.player1___2123 = (r0); + s.tmp_0 = game_addScenePopHandler__P3019_mk(s); + s.tmp_0.arg0 = controller_inline__P4640; s.callLocIdx = 23; s.pc = 16; return s.tmp_0; case 16: r0 = s.retval; - s.tmp_0 = game_addScenePushHandler__P38495_mk(s); - s.tmp_0.arg0 = controller_inline__P38496; + s.tmp_0 = game_addScenePushHandler__P3017_mk(s); + s.tmp_0.arg0 = controller_inline__P4680; s.callLocIdx = 25; s.pc = 17; return s.tmp_0; case 17: r0 = s.retval; - r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C38556_VT); + r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C4704_VT); s.tmp_0 = r0; - s.tmp_1 = controller_Button_constructor__P38578_mk(s); + s.tmp_1 = controller_Button_constructor__P2195_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 0; s.tmp_1.arg2 = -1; s.callLocIdx = 26; s.pc = 18; return s.tmp_1; case 18: r0 = s.retval; - globals.anyButton___38576 = (s.tmp_0); - globals._userEventsEnabled___38582 = (true); - globals.defaultRepeatDelay___38584 = (500); - globals.defaultRepeatInterval___38586 = (30); - s.tmp_0 = SpriteKind_create__P38783_mk(s); + globals.anyButton___2170 = (s.tmp_0); + globals._userEventsEnabled___4718 = (true); + globals.defaultRepeatDelay___4720 = (500); + globals.defaultRepeatInterval___4722 = (30); + s.tmp_0 = SpriteKind_create__P2478_mk(s); s.callLocIdx = 27; s.pc = 19; return s.tmp_0; case 19: r0 = s.retval; - globals.Player___38785 = (r0); - s.tmp_0 = SpriteKind_create__P38783_mk(s); + globals.Player___2479 = (r0); + s.tmp_0 = SpriteKind_create__P2478_mk(s); s.callLocIdx = 28; s.pc = 20; return s.tmp_0; case 20: r0 = s.retval; - globals.Food___38790 = (r0); - s.tmp_0 = SpriteKind_create__P38783_mk(s); + globals.Food___2481 = (r0); + s.tmp_0 = SpriteKind_create__P2478_mk(s); s.callLocIdx = 29; s.pc = 21; return s.tmp_0; case 21: r0 = s.retval; - globals.Enemy___38793 = (r0); + globals.Enemy___2482 = (r0); r0 = (0.1 * 256); s.tmp_0 = r0; r0 = (s.tmp_0 | 0); - globals.MIN_MOVE_GAP___38817 = (r0); - globals.infoState___38885 = (undefined); - s.tmp_0 = game_addScenePushHandler__P38495_mk(s); - s.tmp_0.arg0 = info_inline__P38889; + globals.MIN_MOVE_GAP___2520 = (r0); + globals.infoState___4787 = (undefined); + s.tmp_0 = game_addScenePushHandler__P3017_mk(s); + s.tmp_0.arg0 = info_inline__P4791; s.callLocIdx = 31; s.pc = 22; return s.tmp_0; case 22: r0 = s.retval; - s.tmp_0 = game_addScenePopHandler__P38440_mk(s); - s.tmp_0.arg0 = info_inline__P38905; + s.tmp_0 = game_addScenePopHandler__P3019_mk(s); + s.tmp_0.arg0 = info_inline__P4806; s.callLocIdx = 35; s.pc = 23; return s.tmp_0; case 23: r0 = s.retval; r0 = pxsim_Array__mk(); - globals.scene_Scene_initializers___39212 = (r0); - r0 = pxsim.image.ofBuffer(_hex39269); - globals.img_trophy_sm___39270 = (r0); - r0 = pxsim.image.ofBuffer(_hex39272); - globals.img_trophy_lg___39273 = (r0); - r0 = pxsim.image.ofBuffer(_hex39275); - globals.img_sleepy_sim___39276 = (r0); - globals.debug___39308 = (false); - globals.stats___39310 = (false); - globals.gameOverConfig___39324 = (gameOverConfig_inline__P39323); - s.tmp_0 = scene_systemMenu_initVolume__P39667_mk(s); + globals.scene_Scene_initializers___2864 = (r0); + r0 = pxsim.image.ofBuffer(_hex4896); + globals.img_trophy_sm___4897 = (r0); + r0 = pxsim.image.ofBuffer(_hex4899); + globals.img_trophy_lg___4900 = (r0); + r0 = pxsim.image.ofBuffer(_hex4902); + globals.img_sleepy_sim___4903 = (r0); + globals.debug___2966 = (false); + globals.stats___2967 = (false); + globals.gameOverConfig___2997 = (gameOverConfig_inline__P4915); + s.tmp_0 = scene_systemMenu_initVolume__P5189_mk(s); s.callLocIdx = 37; s.pc = 24; return s.tmp_0; case 24: r0 = s.retval; - s.tmp_0 = scene_systemMenu_initScreen__P39668_mk(s); + s.tmp_0 = scene_systemMenu_initScreen__P5190_mk(s); s.callLocIdx = 38; s.pc = 25; return s.tmp_0; case 25: r0 = s.retval; - r0 = pxsim_Array__push(globals.scene_Scene_initializers___39212, scene_systemMenu_register__P39664); - r0 = pxsim.image.ofBuffer(_hex39675); - globals.CARD_NORMAL___39676 = (r0); - r0 = pxsim.image.ofBuffer(_hex39678); - globals.CARD_SELECTED___39679 = (r0); - r0 = pxsim.image.ofBuffer(_hex39681); - globals.CARD_ACTIVE___39682 = (r0); - r0 = pxsim.image.ofBuffer(_hex39684); - globals.VOLUME_UP_ICON___39685 = (r0); - r0 = pxsim.image.ofBuffer(_hex39687); - globals.BRIGHTNESS_DOWN_ICON___39688 = (r0); - r0 = pxsim.image.ofBuffer(_hex39690); - globals.CLOSE_MENU_ICON___39691 = (r0); - r0 = pxsim.image.ofBuffer(_hex39693); - globals.VOLUME_DOWN_ICON___39694 = (r0); - r0 = pxsim.image.ofBuffer(_hex39696); - globals.SLEEP_ICON___39697 = (r0); - r0 = pxsim.image.ofBuffer(_hex39699); - globals.CONSOLE_ICON___39700 = (r0); - r0 = pxsim.image.ofBuffer(_hex39702); - globals.BRIGHTNESS_UP_ICON___39703 = (r0); - r0 = pxsim.image.ofBuffer(_hex39705); - globals.STATS_ICON___39706 = (r0); - globals.consoleColor___39709 = (1); - globals.tabSize___39712 = (8); - globals.consoleFont___39718 = (globals.font5___38283); - r0 = pxsim_ImageMethods.height(globals.screen___38324); + r0 = pxsim_Array__push(globals.scene_Scene_initializers___2864, scene_systemMenu_register__P3105); + r0 = pxsim.image.ofBuffer(_hex5197); + globals.CARD_NORMAL___3110 = (r0); + r0 = pxsim.image.ofBuffer(_hex5199); + globals.CARD_SELECTED___3111 = (r0); + r0 = pxsim.image.ofBuffer(_hex5201); + globals.CARD_ACTIVE___3112 = (r0); + r0 = pxsim.image.ofBuffer(_hex5203); + globals.VOLUME_UP_ICON___3113 = (r0); + r0 = pxsim.image.ofBuffer(_hex5205); + globals.BRIGHTNESS_DOWN_ICON___3114 = (r0); + r0 = pxsim.image.ofBuffer(_hex5207); + globals.CLOSE_MENU_ICON___3115 = (r0); + r0 = pxsim.image.ofBuffer(_hex5209); + globals.VOLUME_DOWN_ICON___3116 = (r0); + r0 = pxsim.image.ofBuffer(_hex5211); + globals.SLEEP_ICON___3117 = (r0); + r0 = pxsim.image.ofBuffer(_hex5213); + globals.CONSOLE_ICON___3118 = (r0); + r0 = pxsim.image.ofBuffer(_hex5215); + globals.BRIGHTNESS_UP_ICON___3119 = (r0); + r0 = pxsim.image.ofBuffer(_hex5217); + globals.STATS_ICON___3120 = (r0); + globals.consoleColor___5220 = (1); + globals.tabSize___5223 = (8); + globals.consoleFont___5229 = (globals.font5___1980); + r0 = pxsim_ImageMethods.height(globals.screen___2032); s.tmp_2 = r0; s.tmp_5 = if_charHeight_1_mk(s); - s.tmp_5.arg0 = globals.consoleFont___39718; + s.tmp_5.arg0 = globals.consoleFont___5229; if (!s.tmp_5.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "charHeight"); } else { @@ -731,13 +731,13 @@ switch (step) { r0 = pxsim.Math_.floor(s.tmp_1); s.tmp_0 = r0; r0 = (s.tmp_0 - 1); - globals.consoleLines___39723 = (r0); - r0 = pxsim_ImageMethods.width(globals.screen___38324); + globals.consoleLines___5234 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___2032); 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___39718; + s.tmp_4.arg0 = globals.consoleFont___5229; if (!s.tmp_4.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); } else { @@ -752,22 +752,22 @@ switch (step) { r0 = (s.tmp_1 / s.tmp_3); s.tmp_0 = r0; r0 = pxsim.Math_.floor(s.tmp_0); - globals.consoleColumns___39734 = (r0); - s.tmp_0 = console_addListener__P37787_mk(s); - s.tmp_0.arg0 = game_consoleOverlay_listener__P39746; + globals.consoleColumns___5244 = (r0); + s.tmp_0 = console_addListener__P383_mk(s); + s.tmp_0.arg0 = game_consoleOverlay_listener__P5256; s.callLocIdx = 41; s.pc = 28; return s.tmp_0; case 28: r0 = s.retval; s.tmp_0 = lambda_1_mk(s); - s.tmp_0.argL = MAX_SOURCES_inline__P49272; + s.tmp_0.argL = MAX_SOURCES_inline__P13589; setupLambda(s.tmp_0, s.tmp_0.argL); s.callLocIdx = 43; s.pc = 29; return s.tmp_0; case 29: r0 = s.retval; - globals.MAX_SOURCES___39754 = (r0); - r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C39824_VT); + globals.MAX_SOURCES___5258 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C3190_VT); s.tmp_0 = r0; - s.tmp_1 = particles_SprayFactory_constructor__P39830_mk(s); + s.tmp_1 = particles_SprayFactory_constructor__P3191_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 20; s.tmp_1.arg2 = 0; @@ -775,140 +775,69 @@ switch (step) { s.callLocIdx = 44; s.pc = 30; return s.tmp_1; case 30: r0 = s.retval; - globals.defaultFactory___39780 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C39622_VT); + globals.defaultFactory___3170 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C3058_VT); s.tmp_0 = r0; - s.tmp_1 = Math_FastRandom_constructor__P39629_mk(s); + s.tmp_1 = Math_FastRandom_constructor__P3060_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = undefined; s.callLocIdx = 45; s.pc = 31; return s.tmp_1; case 31: r0 = s.retval; - globals.galois___39803 = (s.tmp_0); - globals.angleSlice___39811 = (0.06283185307179587); - r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C39897_VT); + globals.galois___5278 = (s.tmp_0); + globals.angleSlice___5286 = (0.06283185307179587); + r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C3265_VT); s.tmp_0 = r0; - s.tmp_1 = effects_ScreenEffect_constructor__P39901_mk(s); + s.tmp_1 = effects_ScreenEffect_constructor__P3266_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__P49021; + s.tmp_1.arg4 = confetti_inline__P13343; s.callLocIdx = 51; s.pc = 32; return s.tmp_1; case 32: r0 = s.retval; - globals.confetti___39911 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C39940_VT); + globals.confetti___3273 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C3289_VT); s.tmp_0 = r0; - s.tmp_1 = effects_ImageEffect_constructor__P39944_mk(s); + s.tmp_1 = effects_ImageEffect_constructor__P3290_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 100; - s.tmp_1.arg2 = dissolve_inline__P46742; + s.tmp_1.arg2 = dissolve_inline__P11132; s.callLocIdx = 57; s.pc = 33; return s.tmp_1; case 33: r0 = s.retval; - globals.dissolve___39946 = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C39940_VT); + globals.dissolve___3294 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C3289_VT); s.tmp_0 = r0; - s.tmp_1 = effects_ImageEffect_constructor__P39944_mk(s); + s.tmp_1 = effects_ImageEffect_constructor__P3290_mk(s); s.tmp_1.arg0 = s.tmp_0; s.tmp_1.arg1 = 125; - s.tmp_1.arg2 = melt_inline__P48966; + s.tmp_1.arg2 = melt_inline__P13289; s.callLocIdx = 60; s.pc = 34; return s.tmp_1; case 34: r0 = s.retval; - globals.melt___39948 = (s.tmp_0); - s.tmp_0 = game_setWaitAnyButton__P39339_mk(s); - s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P38594; + globals.melt___3295 = (s.tmp_0); + s.tmp_0 = game_setWaitAnyButton__P2999_mk(s); + s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P2205; s.callLocIdx = 61; s.pc = 35; return s.tmp_0; case 35: r0 = s.retval; - s.tmp_0 = game_eventContext__P39341_mk(s); + s.tmp_0 = game_eventContext__P3001_mk(s); s.callLocIdx = 62; s.pc = 36; return s.tmp_0; case 36: - r0 = s.retval; - s.tmp_0 = game_consoleOverlay_setVisible__P39749_mk(s); - s.tmp_0.arg0 = true; - s.tmp_0.arg1 = undefined; - s.callLocIdx = 73; s.pc = 37; return s.tmp_0; - case 37: - r0 = s.retval; - s.tmp_0 = console_log__P37784_mk(s); - r0 = pxsim.Math_.log(1000000); - s.tmp_3 = r0; - r0 = pxsim.Math_.log(10); - s.tmp_4 = r0; - r0 = (s.tmp_3 / s.tmp_4); - s.tmp_2 = r0; - if ((s.tmp_2) && (s.tmp_2).vtable) { - setupResume(s, 39); - pxsim_String__stringConv(s.tmp_2); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_2) + ""; } - case 39: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat("log10(1e+6)=", s.tmp_1); - s.tmp_0.arg0 = r0; - s.callLocIdx = 75; s.pc = 38; return s.tmp_0; - case 38: - r0 = s.retval; - s.tmp_0 = console_log__P37784_mk(s); - s.tmp_3 = Math_toExponential__P60869_mk(s); - s.tmp_3.arg0 = 1000000; - s.tmp_3.arg1 = null; - s.callLocIdx = 76; s.pc = 41; return s.tmp_3; - case 41: - r0 = s.retval; - s.tmp_2 = r0; - if ((s.tmp_2) && (s.tmp_2).vtable) { - setupResume(s, 42); - pxsim_String__stringConv(s.tmp_2); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_2) + ""; } - case 42: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat("toExponential(1e+6)=", s.tmp_1); - s.tmp_0.arg0 = r0; - s.callLocIdx = 77; s.pc = 40; return s.tmp_0; - case 40: - r0 = s.retval; - s.tmp_0 = console_log__P37784_mk(s); - s.tmp_3 = Math_toExponential__P60869_mk(s); - s.tmp_3.arg0 = 12345.6789; - s.tmp_3.arg1 = 20; - s.callLocIdx = 78; s.pc = 44; return s.tmp_3; - case 44: - r0 = s.retval; - s.tmp_2 = r0; - if ((s.tmp_2) && (s.tmp_2).vtable) { - setupResume(s, 45); - pxsim_String__stringConv(s.tmp_2); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_2) + ""; } - case 45: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat("toExponential(12345.6789, 20)=", s.tmp_1); - s.tmp_0.arg0 = r0; - s.callLocIdx = 79; s.pc = 43; return s.tmp_0; - case 43: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -_main___P61151.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"main.ts","functionName":"
","argumentNames":[]} -_main___P61151.continuations = [ 39,42,45 ] +_main___P18448.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"main.ts","functionName":"
","argumentNames":[]} +_main___P18448.continuations = [ ] -function _main___P61151_mk(s) { +function _main___P18448_mk(s) { checkStack(s.depth); return { - parent: s, fn: _main___P61151, depth: s.depth + 1, + parent: s, fn: _main___P18448, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -918,29 +847,29 @@ function _main___P61151_mk(s) { tmp_5: undefined, } } -const _hex43869 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800") -const _hex43871 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000") -const _hex45746 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000") -const _hex38321 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000") -const _hex39269 = pxsim.BufferMethods.createBufferFromHex("870407000800000000000000404400005055040450555505505501011011000000000000") -const _hex39272 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000050050000000000000550000000005045444404000000455544444400040045555555550404004555555555450500455555555511050045555555150101004555111111000100501511110100000000000550000000000000500500000000000000000000000000000000000000") -const _hex39275 = pxsim.BufferMethods.createBufferFromHex("870410001000000000000000000000000000000000000000006666666666060060ffffff666f660060fffffff6ff660060fff1ff666f660060fff1ff6666660060fffff16666660060fffff16666660060fff1ff6666660060fff1ff66f6660060ffffff6666660060fffffff6666600006666666666060000000000000000000000000000000000") -const _hex39675 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000") -const _hex39678 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000") -const _hex39681 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000") -const _hex39684 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39687 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39690 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39693 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39696 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39699 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39702 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -const _hex39705 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex8343 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800") +const _hex8345 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000") +const _hex10160 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000") +const _hex4581 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000") +const _hex4896 = pxsim.BufferMethods.createBufferFromHex("870407000800000000000000404400005055040450555505505501011011000000000000") +const _hex4899 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000050050000000000000550000000005045444404000000455544444400040045555555550404004555555555450500455555555511050045555555150101004555111111000100501511110100000000000550000000000000500500000000000000000000000000000000000000") +const _hex4902 = pxsim.BufferMethods.createBufferFromHex("870410001000000000000000000000000000000000000000006666666666060060ffffff666f660060fffffff6ff660060fff1ff666f660060fff1ff6666660060fffff16666660060fffff16666660060fff1ff6666660060fff1ff66f6660060ffffff6666660060fffffff6666600006666666666060000000000000000000000000000000000") +const _hex5197 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000") +const _hex5199 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000") +const _hex5201 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000") +const _hex5203 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5205 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5207 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5209 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5211 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5213 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5215 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5217 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") -function control___screen_inline__P38295(s) { +function control___screen_inline__P4570(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -953,23 +882,23 @@ switch (step) { case 1: r0 = pxsim_numops_toBoolDecr(true); if (!r0) { step = 4; continue; } - globals.__updated___38290 = (false); - s.tmp_0 = pause__P37835_mk(s); + globals.__updated___4567 = (false); + s.tmp_0 = pause__P413_mk(s); s.tmp_0.arg0 = 200; s.callLocIdx = 2; s.pc = 5; return s.tmp_0; case 5: r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(globals.__updated___38290); + r0 = pxsim_numops_toBoolDecr(globals.__updated___4567); 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__P38291_mk(s); + s.tmp_2 = control___screen_update__P1993_mk(s); s.callLocIdx = 3; s.pc = 6; return s.tmp_2; case 6: r0 = s.retval; - globals.__updated___38290 = (true); + globals.__updated___4567 = (true); case 2: case 3: { step = 1; continue; } @@ -978,12 +907,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -control___screen_inline__P38295.info = {"start":396,"length":211,"line":17,"column":26,"endLine":26,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"inline","argumentNames":[]} +control___screen_inline__P4570.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__P38295_mk(s) { +function control___screen_inline__P4570_mk(s) { checkStack(s.depth); return { - parent: s, fn: control___screen_inline__P38295, depth: s.depth + 1, + parent: s, fn: control___screen_inline__P4570, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -994,7 +923,7 @@ function control___screen_inline__P38295_mk(s) { -function _screen_internal_inline__P38333(s) { +function _screen_internal_inline__P4590(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1004,17 +933,17 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_pxtcore.updateScreen(globals.screen___38324); + r0 = pxsim_pxtcore.updateScreen(globals.screen___2032); r0 = undefined; return leave(s, r0) default: oops() } } } -_screen_internal_inline__P38333.info = {"start":1122,"length":26,"line":32,"column":33,"endLine":32,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]} +_screen_internal_inline__P4590.info = {"start":1122,"length":26,"line":32,"column":33,"endLine":32,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]} -function _screen_internal_inline__P38333_mk(s) { +function _screen_internal_inline__P4590_mk(s) { checkStack(s.depth); return { - parent: s, fn: _screen_internal_inline__P38333, depth: s.depth + 1, + parent: s, fn: _screen_internal_inline__P4590, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, } } @@ -1022,7 +951,7 @@ function _screen_internal_inline__P38333_mk(s) { -function _screen_internal_inline__P38338(s) { +function _screen_internal_inline__P4595(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1041,12 +970,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -_screen_internal_inline__P38338.info = {"start":1185,"length":56,"line":33,"column":35,"endLine":35,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]} +_screen_internal_inline__P4595.info = {"start":1185,"length":56,"line":33,"column":35,"endLine":35,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]} -function _screen_internal_inline__P38338_mk(s) { +function _screen_internal_inline__P4595_mk(s) { checkStack(s.depth); return { - parent: s, fn: _screen_internal_inline__P38338, depth: s.depth + 1, + parent: s, fn: _screen_internal_inline__P4595, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } @@ -1055,7 +984,7 @@ function _screen_internal_inline__P38338_mk(s) { -function controller_inline__P38441(s) { +function controller_inline__P4640(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1065,16 +994,16 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.stateWhenPushed___38442 = undefined; - s.i___38457 = undefined; - s.p___38464 = undefined; - s.tmp_0 = game_currentScene__P38454_mk(s); + s.stateWhenPushed___4641 = undefined; + s.i___4647 = undefined; + s.p___4653 = undefined; + s.tmp_0 = game_currentScene__P2998_mk(s); s.callLocIdx = 19; s.pc = 12; return s.tmp_0; case 12: r0 = s.retval; r0 = r0.fields["controllerConnectionState"]; - s.stateWhenPushed___38442 = (r0); - r0 = pxsim_numops_toBoolDecr(s.stateWhenPushed___38442); + s.stateWhenPushed___4641 = (r0); + r0 = pxsim_numops_toBoolDecr(s.stateWhenPushed___4641); s.tmp_1 = r0; r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; @@ -1083,24 +1012,24 @@ switch (step) { { step = 11; continue; } case 1: case 2: - s.i___38457 = (0); + s.i___4647 = (0); case 3: - s.tmp_1 = r0 = s.i___38457; - r0 = pxsim_Array__length(s.stateWhenPushed___38442); + s.tmp_1 = r0 = s.i___4647; + r0 = pxsim_Array__length(s.stateWhenPushed___4641); 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___38438, s.i___38457); - s.p___38464 = (r0); - s.tmp_0 = r0 = s.p___38464; + r0 = pxsim_Array__getAt(globals._players___4638, s.i___4647); + s.p___4653 = (r0); + s.tmp_0 = r0 = s.p___4653; 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___38442, s.i___38457); + r0 = pxsim_Array__getAt(s.stateWhenPushed___4641, s.i___4647); s.tmp_5 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_5); s.tmp_4 = r0; @@ -1110,7 +1039,7 @@ switch (step) { s.tmp_2 = r0; r0 = pxsim_Boolean__bang(s.tmp_2); s.tmp_1 = r0; - r0 = s.p___38464.fields["_connected"]; + r0 = s.p___4653.fields["_connected"]; s.tmp_10 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_10); s.tmp_9 = r0; @@ -1126,7 +1055,7 @@ switch (step) { s.tmp_11 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_11); if (!r0) { step = 8; continue; } - r0 = s.p___38464.fields["_connected"]; + r0 = s.p___4653.fields["_connected"]; s.tmp_12 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_12); if (!r0) { step = 6; continue; } @@ -1137,13 +1066,13 @@ switch (step) { case 7: // jmp value (already in r0) s.tmp_13 = r0; - r0 = s.p___38464.fields["_id"]; + r0 = s.p___4653.fields["_id"]; s.tmp_14 = r0; r0 = pxsim.control.raiseEvent(s.tmp_14, s.tmp_13); case 8: case 9: - r0 = (s.i___38457 + 1); - s.i___38457 = (r0); + r0 = (s.i___4647 + 1); + s.i___4647 = (r0); { step = 3; continue; } case 10: case 11: @@ -1151,12 +1080,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -controller_inline__P38441.info = {"start":344,"length":582,"line":15,"column":28,"endLine":30,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]} +controller_inline__P4640.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__P38441_mk(s) { +function controller_inline__P4640_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_inline__P38441, depth: s.depth + 1, + parent: s, fn: controller_inline__P4640, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -1173,16 +1102,16 @@ function controller_inline__P38441_mk(s) { tmp_12: undefined, tmp_13: undefined, tmp_14: undefined, - stateWhenPushed___38442: undefined, - i___38457: undefined, - p___38464: undefined, + stateWhenPushed___4641: undefined, + i___4647: undefined, + p___4653: undefined, } } -function controller_inline__P38496(s) { +function controller_inline__P4680(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1192,7 +1121,7 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.i___38501 = undefined; + s.i___4685 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; @@ -1201,43 +1130,43 @@ switch (step) { r0 = pxsim_Array__mk(); s.tmp_1 = r0; r0 = (s.tmp_0).fields["controllerConnectionState"] = (s.tmp_1); - s.i___38501 = (0); + s.i___4685 = (0); case 1: - s.tmp_1 = r0 = s.i___38501; - r0 = pxsim_Array__length(globals._players___38438); + s.tmp_1 = r0 = s.i___4685; + r0 = pxsim_Array__length(globals._players___4638); 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___38438, s.i___38501); + r0 = pxsim_Array__getAt(globals._players___4638, s.i___4685); 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___38501; - r0 = pxsim_Array__getAt(globals._players___38438, s.i___38501); + s.tmp_5 = r0 = s.i___4685; + r0 = pxsim_Array__getAt(globals._players___4638, s.i___4685); 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___38501 + 1); - s.i___38501 = (r0); + r0 = (s.i___4685 + 1); + s.i___4685 = (r0); { step = 1; continue; } case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -controller_inline__P38496.info = {"start":957,"length":254,"line":31,"column":29,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["oldScene"]} +controller_inline__P4680.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__P38496_mk(s) { +function controller_inline__P4680_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_inline__P38496, depth: s.depth + 1, + parent: s, fn: controller_inline__P4680, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -1247,7 +1176,7 @@ function controller_inline__P38496_mk(s) { tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, - i___38501: undefined, + i___4685: undefined, arg0: undefined, } } @@ -1255,7 +1184,7 @@ function controller_inline__P38496_mk(s) { -function info_inline__P38889(s) { +function info_inline__P4791(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1269,36 +1198,36 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(globals.infoState___38885); + r0 = pxsim_numops_toBoolDecr(globals.infoState___4787); if (!r0) { step = 3; continue; } - r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___38887); + r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___4789); 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___38887 = (r0); + globals.infoStateStack___4789 = (r0); case 1: case 2: r0 = pxsim_pxtrt.mkMap(); s.tmp_0 = r0; - r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___38885); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___4787); r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0); - r0 = pxsim_Array__push(globals.infoStateStack___38887, s.tmp_0); - globals.infoState___38885 = (undefined); + r0 = pxsim_Array__push(globals.infoStateStack___4789, s.tmp_0); + globals.infoState___4787 = (undefined); case 3: case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -info_inline__P38889.info = {"start":2619,"length":259,"line":94,"column":29,"endLine":103,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]} +info_inline__P4791.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__P38889_mk(s) { +function info_inline__P4791_mk(s) { checkStack(s.depth); return { - parent: s, fn: info_inline__P38889, depth: s.depth + 1, + parent: s, fn: info_inline__P4791, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -1309,7 +1238,7 @@ function info_inline__P38889_mk(s) { -function info_inline__P38905(s) { +function info_inline__P4806(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1319,30 +1248,30 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___38906 = undefined; - s.nextState___38915 = undefined; - s.tmp_0 = game_currentScene__P38454_mk(s); + s.scene___4807 = undefined; + s.nextState___4816 = undefined; + s.tmp_0 = game_currentScene__P2998_mk(s); s.callLocIdx = 32; s.pc = 7; return s.tmp_0; case 7: r0 = s.retval; - s.scene___38906 = (r0); - globals.infoState___38885 = (undefined); - s.tmp_0 = r0 = globals.infoStateStack___38887; + s.scene___4807 = (r0); + globals.infoState___4787 = (undefined); + s.tmp_0 = r0 = globals.infoStateStack___4789; 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___38887); + r0 = pxsim_Array__length(globals.infoStateStack___4789); 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___38887); - s.nextState___38915 = (r0); + r0 = pxsim_Array_.pop(globals.infoStateStack___4789); + s.nextState___4816 = (r0); s.tmp_2 = if_scene_1_mk(s); - s.tmp_2.arg0 = s.nextState___38915; + s.tmp_2.arg0 = s.nextState___4816; if (!s.tmp_2.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "scene"); } else { @@ -1354,12 +1283,12 @@ switch (step) { case 8: r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_1 == s.scene___38906); + r0 = (s.tmp_1 == s.scene___4807); 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___38915; + s.tmp_3.arg0 = s.nextState___4816; if (!s.tmp_3.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "state"); } else { @@ -1370,10 +1299,10 @@ switch (step) { } case 9: r0 = s.retval; - globals.infoState___38885 = (r0); + globals.infoState___4787 = (r0); { step = 4; continue; } case 3: - r0 = pxsim_Array__push(globals.infoStateStack___38887, s.nextState___38915); + r0 = pxsim_Array__push(globals.infoStateStack___4789, s.nextState___4816); case 4: case 5: case 6: @@ -1381,26 +1310,26 @@ switch (step) { return leave(s, r0) default: oops() } } } -info_inline__P38905.info = {"start":2910,"length":376,"line":105,"column":28,"endLine":116,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]} +info_inline__P4806.info = {"start":2910,"length":376,"line":105,"column":28,"endLine":116,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]} -function info_inline__P38905_mk(s) { +function info_inline__P4806_mk(s) { checkStack(s.depth); return { - parent: s, fn: info_inline__P38905, depth: s.depth + 1, + parent: s, fn: info_inline__P4806, depth: s.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___38906: undefined, - nextState___38915: undefined, + scene___4807: undefined, + nextState___4816: undefined, } } -function gameOverConfig_inline__P39323(s) { +function gameOverConfig_inline__P4915(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1410,32 +1339,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals._gameOverConfig___39322); + r0 = pxsim_numops_toBoolDecr(globals._gameOverConfig___4914); s.tmp_1 = r0; r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = pxsim_pxtcore_mkClassInstance(game_GameOverConfig__C39311_VT); + r0 = pxsim_pxtcore_mkClassInstance(game_GameOverConfig__C2972_VT); s.tmp_2 = r0; - s.tmp_3 = game_GameOverConfig_constructor__P39321_mk(s); + s.tmp_3 = game_GameOverConfig_constructor__P2987_mk(s); s.tmp_3.arg0 = s.tmp_2; s.callLocIdx = 36; s.pc = 3; return s.tmp_3; case 3: r0 = s.retval; - globals._gameOverConfig___39322 = (s.tmp_2); + globals._gameOverConfig___4914 = (s.tmp_2); case 1: case 2: - r0 = globals._gameOverConfig___39322; + r0 = globals._gameOverConfig___4914; return leave(s, r0) default: oops() } } } -gameOverConfig_inline__P39323.info = {"start":3714,"length":115,"line":107,"column":34,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]} +gameOverConfig_inline__P4915.info = {"start":3714,"length":115,"line":107,"column":34,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]} -function gameOverConfig_inline__P39323_mk(s) { +function gameOverConfig_inline__P4915_mk(s) { checkStack(s.depth); return { - parent: s, fn: gameOverConfig_inline__P39323, depth: s.depth + 1, + parent: s, fn: gameOverConfig_inline__P4915, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -1447,7 +1376,40 @@ function gameOverConfig_inline__P39323_mk(s) { -function Math_toExponential__P60869(s) { +function game_eventContext__P3001(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = game_init__P4930_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 943; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals._scene___4922.fields["eventContext"]; + return leave(s, r0) + default: oops() +} } } +game_eventContext__P3001.info = {"start":4442,"length":112,"line":136,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"eventContext","argumentNames":[]} + +function game_eventContext__P3001_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_eventContext__P3001, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function game_init__P4930(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1457,461 +1419,56 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.f___60872 = undefined; - s.x___60875 = undefined; - s.s___60879 = undefined; - s.m___60912 = undefined; - s.e___60913 = undefined; - s.c___60914 = undefined; - s.d___60915 = undefined; - s.L___60921 = undefined; - s.n___60928 = undefined; - s.w___60932 = undefined; - s.guess_n___60973 = undefined; - s.target_f___60983 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg1 | 0); - s.f___60872 = (r0); - s.x___60875 = (s.arg0); - s.tmp_1 = isNaN__P37558_mk(s); - s.tmp_1.arg0 = s.x___60875; - s.callLocIdx = 63; s.pc = 36; return s.tmp_1; - case 36: - r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._scene___4922); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = "NaN"; - { step = 35; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: + r0 = s.arg0; case 2: - r0 = pxsim_String_.mkEmpty(); - s.s___60879 = (r0); - r0 = (s.x___60875 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 3; continue; } - s.s___60879 = ("-"); - r0 = (0 - s.x___60875); - s.x___60875 = (r0); - case 3: - case 4: - r0 = (s.x___60875 === Infinity); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - if ((s.s___60879) && (s.s___60879).vtable) { - setupResume(s, 37); - pxsim_String__stringConv(s.s___60879); - checkResumeConsumed(); - return; - } else { s.retval = (s.s___60879) + ""; } - case 37: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat(s.tmp_1, "Infinity"); - { step = 35; continue; } - case 5: - case 6: - r0 = pxsim_pxtcore.typeOf(s.arg1); - s.tmp_3 = r0; - r0 = (s.tmp_3 != "undefined"); - s.tmp_2 = r0; - r0 = pxsim_numops_toBool(s.tmp_2); - if (r0) { step = 7; continue; } - r0 = s.tmp_2; - { step = 10; continue; } - case 7: - r0 = (s.f___60872 < 0); - s.tmp_4 = r0; - r0 = pxsim_numops_toBool(s.tmp_4); - if (!r0) { step = 8; continue; } - r0 = s.tmp_4; - { step = 9; continue; } - case 8: - r0 = (s.f___60872 > 20); - case 9: - // jmp value (already in r0) - s.tmp_5 = r0; - r0 = s.tmp_5; - case 10: // jmp value (already in r0) - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 11; continue; } - if ((s.arg1) && (s.arg1).vtable) { - setupResume(s, 38); - pxsim_String__stringConv(s.arg1); - checkResumeConsumed(); - return; - } else { s.retval = (s.arg1) + ""; } - case 38: - r0 = s.retval; - s.tmp_10 = r0; - r0 = pxsim_String__concat("Fraction Digits ", s.tmp_10); - s.tmp_9 = r0; - if ((s.tmp_9) && (s.tmp_9).vtable) { - setupResume(s, 39); - pxsim_String__stringConv(s.tmp_9); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_9) + ""; } - case 39: - r0 = s.retval; - s.tmp_8 = r0; - r0 = pxsim_String__concat(s.tmp_8, " out of range"); - s.tmp_7 = r0; - r0 = pxsim_pxtcore.throwValue(s.tmp_7); - case 11: - case 12: - r0 = pxsim_String_.mkEmpty(); - s.m___60912 = (r0); - s.e___60913 = (0); - r0 = pxsim_String_.mkEmpty(); - s.c___60914 = (r0); - r0 = pxsim_String_.mkEmpty(); - s.d___60915 = (r0); - r0 = (s.x___60875 == 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 13; continue; } - s.e___60913 = (0); - s.f___60872 = (0); - s.m___60912 = ("0"); - { step = 28; continue; } - case 13: - r0 = pxsim.Math_.log(s.x___60875); - s.tmp_0 = r0; - r0 = pxsim.Math_.log(10); - s.tmp_1 = r0; - r0 = (s.tmp_0 / s.tmp_1); - s.L___60921 = (r0); - r0 = pxsim.Math_.floor(s.L___60921); - s.e___60913 = (r0); - s.n___60928 = (0); - r0 = pxsim_pxtcore.typeOf(s.arg1); - s.tmp_1 = r0; - r0 = (s.tmp_1 != "undefined"); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 18; continue; } - r0 = (s.e___60913 - s.f___60872); - s.tmp_2 = r0; - r0 = pxsim.Math_.pow(10, s.tmp_2); - s.w___60932 = (r0); - r0 = (s.x___60875 / s.w___60932); - s.tmp_0 = r0; - r0 = pxsim.Math_.round(s.tmp_0); - s.n___60928 = (r0); - r0 = (2 * s.x___60875); - s.tmp_1 = r0; - r0 = (2 * s.n___60928); - s.tmp_4 = r0; - r0 = (s.tmp_4 + 1); - s.tmp_3 = r0; - r0 = (s.tmp_3 * s.w___60932); - s.tmp_2 = r0; - r0 = (s.tmp_1 >= s.tmp_2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 14; continue; } - r0 = (s.n___60928 + 1); - s.n___60928 = (r0); - case 14: - case 15: - s.tmp_1 = r0 = s.n___60928; - r0 = (s.f___60872 + 1); - s.tmp_3 = r0; - r0 = pxsim.Math_.pow(10, 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 = 16; continue; } - r0 = (s.n___60928 / 10); - s.n___60928 = (r0); - r0 = (s.e___60913 + 1); - s.e___60913 = (r0); - case 16: - case 17: - { step = 23; continue; } - case 18: - s.f___60872 = (22); - r0 = (s.L___60921 - s.e___60913); - s.tmp_2 = r0; - r0 = (s.tmp_2 + s.f___60872); - s.tmp_1 = r0; - r0 = pxsim.Math_.pow(10, s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim.Math_.round(s.tmp_0); - s.guess_n___60973 = (r0); - s.target_f___60983 = (s.f___60872); - case 19: - s.tmp_0 = r0 = s.f___60872; - r0 = (s.tmp_0 - 1); - s.f___60872 = (r0); - r0 = (s.tmp_0 > 0); - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 22; continue; } - r0 = (s.L___60921 - s.e___60913); - s.tmp_4 = r0; - r0 = (s.tmp_4 + s.f___60872); - s.tmp_3 = r0; - r0 = pxsim.Math_.pow(10, s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim.Math_.round(s.tmp_2); - s.guess_n___60973 = (r0); - s.tmp_2 = Math_abs__P37594_mk(s); - s.tmp_4 = r0 = s.guess_n___60973; - r0 = (s.e___60913 - s.f___60872); - s.tmp_6 = r0; - r0 = pxsim.Math_.pow(10, s.tmp_6); - s.tmp_5 = r0; - r0 = (s.tmp_4 * s.tmp_5); - s.tmp_3 = r0; - r0 = (s.tmp_3 - s.x___60875); - s.tmp_2.arg0 = r0; - s.callLocIdx = 65; s.pc = 40; return s.tmp_2; - case 40: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_8 = Math_abs__P37594_mk(s); - s.tmp_10 = r0 = s.n___60928; - r0 = (s.e___60913 - s.target_f___60983); - s.tmp_12 = r0; - r0 = pxsim.Math_.pow(10, s.tmp_12); - s.tmp_11 = r0; - r0 = (s.tmp_10 * s.tmp_11); - s.tmp_9 = r0; - r0 = (s.tmp_9 - s.x___60875); - s.tmp_8.arg0 = r0; - s.callLocIdx = 66; s.pc = 41; return s.tmp_8; - case 41: - r0 = s.retval; - s.tmp_7 = r0; - r0 = (s.tmp_1 <= s.tmp_7); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 20; continue; } - s.target_f___60983 = (s.f___60872); - s.n___60928 = (s.guess_n___60973); - case 20: - case 21: - { step = 19; continue; } - case 22: - case 23: - r0 = pxsim_numops.toString(s.n___60928); - s.m___60912 = (r0); - r0 = pxsim_pxtcore.typeOf(s.arg1); - s.tmp_1 = r0; - r0 = (s.tmp_1 == "undefined"); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 26; continue; } - case 24: - s.tmp_4 = helpers_stringSlice__P37585_mk(s); - s.tmp_4.arg0 = s.m___60912; - s.tmp_4.arg1 = -1; - s.tmp_4.arg2 = undefined; - s.callLocIdx = 67; s.pc = 42; return s.tmp_4; - case 42: - r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_3 == "0"); s.tmp_2 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_2); - if (!r0) { step = 25; continue; } - s.tmp_5 = helpers_stringSlice__P37585_mk(s); - s.tmp_5.arg0 = s.m___60912; - s.tmp_5.arg1 = 0; - s.tmp_5.arg2 = -1; - s.callLocIdx = 68; s.pc = 43; return s.tmp_5; - case 43: - r0 = s.retval; - s.m___60912 = (r0); - s.tmp_2 = parseInt__P37561_mk(s); - s.tmp_2.arg0 = s.d___60915; - s.tmp_2.arg1 = undefined; - s.callLocIdx = 69; s.pc = 44; return s.tmp_2; - case 44: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_1 + 1); - s.tmp_0 = r0; - r0 = pxsim_numops.toString(s.tmp_0); - s.d___60915 = (r0); - { step = 24; continue; } - case 25: - case 26: - case 27: - case 28: - r0 = (s.f___60872 != 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 29; continue; } - s.tmp_5 = helpers_stringSlice__P37585_mk(s); - s.tmp_5.arg0 = s.m___60912; - s.tmp_5.arg1 = 0; - s.tmp_5.arg2 = 1; - s.callLocIdx = 70; s.pc = 45; return s.tmp_5; - case 45: - r0 = s.retval; - s.tmp_4 = r0; - if ((s.tmp_4) && (s.tmp_4).vtable) { - setupResume(s, 46); - pxsim_String__stringConv(s.tmp_4); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_4) + ""; } - case 46: - 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, 47); - pxsim_String__stringConv(s.tmp_2); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_2) + ""; } - case 47: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_8 = helpers_stringSlice__P37585_mk(s); - s.tmp_8.arg0 = s.m___60912; - s.tmp_8.arg1 = 1; - s.tmp_8.arg2 = undefined; - s.callLocIdx = 71; s.pc = 48; return s.tmp_8; - case 48: - r0 = s.retval; - s.tmp_7 = r0; - if ((s.tmp_7) && (s.tmp_7).vtable) { - setupResume(s, 49); - pxsim_String__stringConv(s.tmp_7); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_7) + ""; } - case 49: - r0 = s.retval; - s.tmp_6 = r0; - r0 = pxsim_String__concat(s.tmp_1, s.tmp_6); - s.m___60912 = (r0); - case 29: - case 30: - r0 = (s.e___60913 == 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 31; continue; } - s.c___60914 = ("+"); - s.d___60915 = ("0"); - { step = 34; continue; } - case 31: - r0 = (s.e___60913 > 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 32; continue; } - r0 = "+"; - { step = 33; continue; } - case 32: - r0 = "-"; - case 33: - // jmp value (already in r0) - s.tmp_1 = r0; - s.c___60914 = (s.tmp_1); - s.tmp_1 = Math_abs__P37594_mk(s); - s.tmp_1.arg0 = s.e___60913; - s.callLocIdx = 72; s.pc = 50; return s.tmp_1; - case 50: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_numops.toString(s.tmp_0); - s.d___60915 = (r0); - case 34: - if ((s.m___60912) && (s.m___60912).vtable) { - setupResume(s, 51); - pxsim_String__stringConv(s.m___60912); - checkResumeConsumed(); - return; - } else { s.retval = (s.m___60912) + ""; } - case 51: - r0 = s.retval; - s.tmp_0 = r0; - if ((s.c___60914) && (s.c___60914).vtable) { - setupResume(s, 52); - pxsim_String__stringConv(s.c___60914); - checkResumeConsumed(); - return; - } else { s.retval = (s.c___60914) + ""; } - case 52: - r0 = s.retval; - s.tmp_5 = r0; - r0 = pxsim_String__concat("e", s.tmp_5); - s.tmp_4 = r0; - if ((s.tmp_4) && (s.tmp_4).vtable) { - setupResume(s, 53); - pxsim_String__stringConv(s.tmp_4); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_4) + ""; } - case 53: - r0 = s.retval; + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(scene_Scene__C2842_VT); s.tmp_3 = r0; - if ((s.d___60915) && (s.d___60915).vtable) { - setupResume(s, 54); - pxsim_String__stringConv(s.d___60915); - checkResumeConsumed(); - return; - } else { s.retval = (s.d___60915) + ""; } - case 54: - 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, 55); - pxsim_String__stringConv(s.tmp_2); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_2) + ""; } - case 55: + s.tmp_4 = scene_Scene_constructor__P2865_mk(s); + s.tmp_4.arg0 = s.tmp_3; + s.tmp_5 = control_pushEventContext__P409_mk(s); + s.callLocIdx = 944; s.pc = 6; return s.tmp_5; + case 6: r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat(s.tmp_0, s.tmp_1); - s.m___60912 = (r0); - if ((s.s___60879) && (s.s___60879).vtable) { - setupResume(s, 56); - pxsim_String__stringConv(s.s___60879); - checkResumeConsumed(); - return; - } else { s.retval = (s.s___60879) + ""; } - case 56: + s.tmp_4.arg1 = r0; + s.tmp_4.arg2 = globals._scene___4922; + s.callLocIdx = 945; s.pc = 5; return s.tmp_4; + case 5: r0 = s.retval; - s.tmp_0 = r0; - if ((s.m___60912) && (s.m___60912).vtable) { - setupResume(s, 57); - pxsim_String__stringConv(s.m___60912); - checkResumeConsumed(); - return; - } else { s.retval = (s.m___60912) + ""; } - case 57: + globals._scene___4922 = (s.tmp_3); + case 3: + case 4: + s.tmp_0 = scene_Scene_init__P2866_mk(s); + s.tmp_0.arg0 = globals._scene___4922; + s.callLocIdx = 946; s.pc = 7; return s.tmp_0; + case 7: r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat(s.tmp_0, s.tmp_1); - case 35: + r0 = undefined; return leave(s, r0) default: oops() } } } -Math_toExponential__P60869.info = {"start":555,"length":2549,"line":21,"column":4,"endLine":87,"endColumn":5,"fileName":"extra_number_blocks.ts","functionName":"toExponential","argumentNames":["num","precision"]} +game_init__P4930.info = {"start":4560,"length":194,"line":141,"column":4,"endLine":146,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["forceNewScene"]} -function Math_toExponential__P60869_mk(s) { +function game_init__P4930_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_toExponential__P60869, depth: s.depth + 1, + parent: s, fn: game_init__P4930, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -1919,34 +1476,14 @@ function Math_toExponential__P60869_mk(s) { 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, - f___60872: undefined, - x___60875: undefined, - s___60879: undefined, - m___60912: undefined, - e___60913: undefined, - c___60914: undefined, - d___60915: undefined, - L___60921: undefined, - n___60928: undefined, - w___60932: undefined, - guess_n___60973: undefined, - target_f___60983: undefined, arg0: undefined, - arg1: undefined, } } -function parseInt__P37561(s) { +function scene_Scene_init__P2866(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -1956,313 +1493,188 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.start___42712 = undefined; - s.sign___42744 = undefined; - s.output___42790 = undefined; - s.hasDigit___42791 = undefined; - s.i___42792 = undefined; - s.code___42799 = undefined; - s.val___42806 = 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); + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C2842_VT)) failedCast(r0); + r0 = s.arg0.fields["allSprites"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 6; continue; } + { step = 3; 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); + s.tmp_1 = power_poke__P1929_mk(s); + s.callLocIdx = 907; s.pc = 4; return s.tmp_1; case 4: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = s.tmp_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__P7460); + 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 = 910; s.pc = 5; return s.tmp_1; case 5: - // jmp value (already in r0) - s.tmp_5 = r0; - r0 = s.tmp_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__P2133; + s.callLocIdx = 911; s.pc = 6; return s.tmp_0; 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; } + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P7484); + 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 = 913; s.pc = 7; return s.tmp_1; case 7: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P7497); + 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 = 917; s.pc = 8; return s.tmp_1; case 8: - s.start___42712 = (0); + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P7518); + 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 = 919; s.pc = 9; return s.tmp_1; case 9: - s.tmp_1 = r0 = s.start___42712; - r0 = pxsim_String_.length(s.arg0); - s.tmp_2 = r0; - r0 = (s.tmp_1 < s.tmp_2); + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P7526); s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 10; continue; } - r0 = s.tmp_0; - { step = 11; continue; } + 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 = 923; s.pc = 10; return s.tmp_1; case 10: - s.tmp_3 = helpers_isWhitespace__P37591_mk(s); - r0 = pxsim_String_.charCodeAt(s.arg0, s.start___42712); - s.tmp_3.arg0 = r0; - s.callLocIdx = 0; s.pc = 47; return s.tmp_3; - case 47: 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__P1993; + s.callLocIdx = 924; s.pc = 11; return s.tmp_0; 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___42712 + 1); - s.start___42712 = (r0); - { step = 9; continue; } + r0 = s.retval; + s.tmp_0 = multiplayer_initServer__P3387_mk(s); + s.callLocIdx = 925; s.pc = 12; return s.tmp_0; case 12: - s.tmp_1 = r0 = s.start___42712; - 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; } + r0 = s.retval; + s.tmp_0 = multiplayer_initPlayerConnectionListeners__P3388_mk(s); + s.callLocIdx = 926; s.pc = 13; return s.tmp_0; case 13: - case 14: - s.sign___42744 = (1); - r0 = pxsim_String_.charAt(s.arg0, s.start___42712); - 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___42744 = (-1); - case 16: - r0 = (s.start___42712 + 1); - s.start___42712 = (r0); - case 17: - r0 = pxsim_numops_toBoolDecr(s.arg1); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P7557); 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___42712); - 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___42712 + 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___42712 + 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___42712 + 2); - s.start___42712 = (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___42790 = (0); - s.hasDigit___42791 = (false); - s.i___42792 = (s.start___42712); - case 30: - s.tmp_1 = r0 = s.i___42792; - r0 = pxsim_String_.length(s.arg0); + 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___2864; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 928; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init__P2866.info = {"start":4432,"length":2572,"line":127,"column":8,"endLine":187,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"init","argumentNames":["this"]} + +function scene_Scene_init__P2866_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init__P2866, 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__P7460(s) { +let r0 = s.r0, step = 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.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___42792); + r0 = s.caps[0].fields["eventContext"]; + r0 = r0.fields["deltaTimeMillis"]; s.tmp_3 = r0; - r0 = (s.tmp_3 | 32); - s.code___42799 = (r0); - s.val___42806 = (undefined); - r0 = (s.code___42799 >= 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___42799 < 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___42799 - 48); - s.val___42806 = (r0); - { step = 38; continue; } - case 33: - r0 = (s.code___42799 >= 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___42799 < 123); - case 35: - // jmp value (already in r0) + r0 = (s.tmp_2 + s.tmp_3); s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 36; continue; } - r0 = (10 + s.code___42799); - s.tmp_2 = r0; - r0 = (s.tmp_2 - 97); - s.val___42806 = (r0); - case 36: - case 37: - case 38: - r0 = (s.val___42806 == 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___42806 >= s.arg1); - case 40: - // jmp value (already in r0) + r0 = (s.tmp_0).fields["_millis"] = (s.tmp_1); + s.tmp_0 = controller___update__P2165_mk(s); + r0 = s.caps[0].fields["eventContext"]; s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 43; continue; } - r0 = pxsim_numops_toBoolDecr(s.hasDigit___42791); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); + r0 = s.tmp_1.fields["deltaTimeMillis"]; 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___42791 = (true); - r0 = (s.output___42790 * s.arg1); - s.tmp_0 = r0; - r0 = (s.tmp_0 + s.val___42806); - s.output___42790 = (r0); - r0 = (s.i___42792 + 1); - s.i___42792 = (r0); - { step = 30; continue; } - case 45: - r0 = (s.sign___42744 * s.output___42790); - case 46: + r0 = (s.tmp_2 / 1000); + s.tmp_0.arg0 = r0; + s.callLocIdx = 909; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -parseInt__P37561.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"]} +scene_Scene_init_inline__P7460.info = {"start":4722,"length":217,"line":134,"column":72,"endLine":138,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} -function parseInt__P37561_mk(s) { +function scene_Scene_init_inline__P7460_mk(s) { checkStack(s.depth); return { - parent: s, fn: parseInt__P37561, depth: s.depth + 1, + parent: s, fn: scene_Scene_init_inline__P7460, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___42712: undefined, - sign___42744: undefined, - output___42790: undefined, - hasDigit___42791: undefined, - i___42792: undefined, - code___42799: undefined, - val___42806: undefined, - arg0: undefined, - arg1: undefined, } } -function helpers_isWhitespace__P37591(s) { +function scene_Scene_init_inline__P7484(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2272,69 +1684,124 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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; } + s.tmp_0 = PhysicsEngine__C2510_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__C2510_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: - case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P7484.info = {"start":5234,"length":159,"line":143,"column":69,"endLine":146,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P7484_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P7484, 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__P7497(s) { +let r0 = s.r0, step = 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___7498 = undefined; + s.s___7506 = 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___7498 = (r0); + s.tmp_0 = scene_Camera_update__P2797_mk(s); + r0 = s.caps[0].fields["camera"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 915; s.pc = 3; return s.tmp_0; case 3: + r0 = s.retval; + s.s___7506 = (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___7506 = (r0); + s.tmp_2 = if___update_3_mk(s); + s.tmp_2.arg0 = s.s___7506; + r0 = s.caps[0].fields["camera"]; + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = s.dt___7498; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__update"), 3); + s.callLocIdx = 916; s.pc = 4; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__update"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["__update"], 3); s.callLocIdx = 916; s.pc = 4; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 916; s.pc = 4; return s.tmp_2;; } + else { s.callLocIdx = 916; s.pc = 4; return s.tmp_2; } + } case 4: - 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 = s.retval; + r0 = (s.unnamed87___U3 + 1); + s.unnamed87___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed86___U2 = (undefined); r0 = undefined; - case 12: return leave(s, r0) default: oops() } } } -helpers_isWhitespace__P37591.info = {"start":14864,"length":674,"line":503,"column":4,"endLine":520,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"isWhitespace","argumentNames":["c"]} +scene_Scene_init_inline__P7497.info = {"start":5582,"length":214,"line":152,"column":79,"endLine":158,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} -function helpers_isWhitespace__P37591_mk(s) { +function scene_Scene_init_inline__P7497_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_isWhitespace__P37591, depth: s.depth + 1, + parent: s, fn: scene_Scene_init_inline__P7497, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, + tmp_2: undefined, + dt___7498: undefined, + s___7506: undefined, + unnamed86___U2: undefined, + unnamed87___U3: undefined, } } -function helpers_stringSlice__P37585(s) { +function scene_Scene_init_inline__P7518(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2344,81 +1811,141 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.len___42865 = 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___42865 = (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__P37596_mk(s); - r0 = (s.len___42865 + s.arg1); - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 0; - s.callLocIdx = 10; s.pc = 9; return s.tmp_1; - case 9: + s.tmp_0 = scene_Scene_render__P2871_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 918; s.pc = 1; return s.tmp_0; + case 1: r0 = s.retval; - s.arg1 = (r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P7518.info = {"start":5937,"length":109,"line":163,"column":76,"endLine":166,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P7518_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P7518, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_Scene_init_inline__P7526(s) { +let r0 = s.r0, step = 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___2967; + 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: - r0 = (s.arg2 === undefined); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); if (!r0) { step = 3; continue; } - s.arg2 = (s.len___42865); - { step = 6; 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 = 920; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; 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: + r0 = pxsim_numops_toBoolDecr(globals.debug___2966); + if (!r0) { step = 5; continue; } + s.tmp_0 = PhysicsEngine__C2510_v3_1_mk(s); + r0 = s.caps[0].fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2510_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: - r0 = (s.arg2 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - r0 = (s.len___42865 + 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); + s.tmp_0 = game_consoleOverlay_draw__P3126_mk(s); + s.callLocIdx = 921; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = power_checkDeepSleep__P1930_mk(s); + s.callLocIdx = 922; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_stringSlice__P37585.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"]} +scene_Scene_init_inline__P7526.info = {"start":6163,"length":504,"line":168,"column":80,"endLine":180,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} -function helpers_stringSlice__P37585_mk(s) { +function scene_Scene_init_inline__P7526_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_stringSlice__P37585, depth: s.depth + 1, + parent: s, fn: scene_Scene_init_inline__P7526, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - len___42865: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, } } -function Math_max__P37596(s) { +function scene_Scene_init_inline__P7557(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2430,39 +1957,35 @@ switch (step) { 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; } + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = s.arg0; + s.tmp_0.arg0 = s.caps[0]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 927; s.pc = 1; return s.tmp_0; case 1: - case 2: - r0 = s.arg1; - case 3: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Math_max__P37596.info = {"start":16614,"length":105,"line":558,"column":4,"endLine":561,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]} +scene_Scene_init_inline__P7557.info = {"start":6980,"length":12,"line":186,"column":39,"endLine":186,"endColumn":51,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["f"]} -function Math_max__P37596_mk(s) { +function scene_Scene_init_inline__P7557_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_max__P37596, depth: s.depth + 1, + parent: s, fn: scene_Scene_init_inline__P7557, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, - arg1: undefined, } } -function Math_abs__P37594(s) { +function multiplayer_initPlayerConnectionListeners__P3388(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2472,42 +1995,43 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = (s.arg0 < 0); + s.p___7577 = undefined; + s.p___7577 = (1); + case 1: + r0 = (s.p___7577 <= 4); 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; + if (!r0) { step = 2; continue; } + s.tmp_1 = multiplayer_registerPlayerConnectionListeners__P5378_mk(s); + s.tmp_1.arg0 = s.p___7577; + s.callLocIdx = 1278; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.p___7577 + 1); + s.p___7577 = (r0); + { step = 1; continue; } case 2: - // jmp value (already in r0) - s.tmp_1 = r0; - r0 = s.tmp_1; + r0 = undefined; return leave(s, r0) default: oops() } } } -Math_abs__P37594.info = {"start":16120,"length":77,"line":539,"column":4,"endLine":541,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"abs","argumentNames":["x"]} +multiplayer_initPlayerConnectionListeners__P3388.info = {"start":1324,"length":154,"line":39,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"initPlayerConnectionListeners","argumentNames":[]} -function Math_abs__P37594_mk(s) { +function multiplayer_initPlayerConnectionListeners__P3388_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_abs__P37594, depth: s.depth + 1, + parent: s, fn: multiplayer_initPlayerConnectionListeners__P3388, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - arg0: undefined, + p___7577: undefined, } } -function isNaN__P37558(s) { +function multiplayer_registerPlayerConnectionListeners__P5378(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2521,19 +2045,41 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = (s.arg0 - 0); - s.arg0 = (r0); - r0 = (s.arg0 !== s.arg0); + r0 = pxsim_pxtcore_mkAction(1, multiplayer_registerPlayerConnectionListeners_inline__P7589); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_onEvent__P391_mk(s); + s.tmp_1.arg0 = 3241; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.tmp_0; + s.tmp_1.arg3 = 16; + s.callLocIdx = 1280; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, multiplayer_registerPlayerConnectionListeners_inline__P7595); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_onEvent__P391_mk(s); + s.tmp_1.arg0 = 3242; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.tmp_0; + s.tmp_1.arg3 = 16; + s.callLocIdx = 1282; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -isNaN__P37558.info = {"start":169,"length":80,"line":12,"column":0,"endLine":15,"endColumn":1,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"isNaN","argumentNames":["x"]} +multiplayer_registerPlayerConnectionListeners__P5378.info = {"start":1484,"length":415,"line":45,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"registerPlayerConnectionListeners","argumentNames":["playerNumber"]} -function isNaN__P37558_mk(s) { +function multiplayer_registerPlayerConnectionListeners__P5378_mk(s) { checkStack(s.depth); return { - parent: s, fn: isNaN__P37558, depth: s.depth + 1, + parent: s, fn: multiplayer_registerPlayerConnectionListeners__P5378, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, arg0: undefined, } } @@ -2541,7 +2087,7 @@ function isNaN__P37558_mk(s) { -function Math_log10__P60861(s) { +function multiplayer_registerPlayerConnectionListeners_inline__P7589(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2551,35 +2097,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = pxsim.Math_.log(s.arg0); - s.tmp_0 = r0; - r0 = pxsim.Math_.log(10); - s.tmp_1 = r0; - r0 = (s.tmp_0 / s.tmp_1); + s.tmp_0 = multiplayer_receiveConnectionChangedEvent__P5379_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = true; + s.callLocIdx = 1279; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Math_log10__P60861.info = {"start":372,"length":94,"line":15,"column":4,"endLine":17,"endColumn":5,"fileName":"extra_number_blocks.ts","functionName":"log10","argumentNames":["num"]} +multiplayer_registerPlayerConnectionListeners_inline__P7589.info = {"start":1656,"length":55,"line":49,"column":12,"endLine":49,"endColumn":67,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} -function Math_log10__P60861_mk(s) { +function multiplayer_registerPlayerConnectionListeners_inline__P7589_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_log10__P60861, depth: s.depth + 1, + parent: s, fn: multiplayer_registerPlayerConnectionListeners_inline__P7589, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - arg0: undefined, } } -function console_log__P37784(s) { +function multiplayer_registerPlayerConnectionListeners_inline__P7595(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2589,36 +2131,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - s.tmp_0 = console_add__P37780_mk(s); - s.tmp_0.arg0 = 1; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 34; s.pc = 1; return s.tmp_0; + s.tmp_0 = multiplayer_receiveConnectionChangedEvent__P5379_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = false; + s.callLocIdx = 1281; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -console_log__P37784.info = {"start":1450,"length":86,"line":58,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"log","argumentNames":["value"]} +multiplayer_registerPlayerConnectionListeners_inline__P7595.info = {"start":1826,"length":56,"line":54,"column":12,"endLine":54,"endColumn":68,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} -function console_log__P37784_mk(s) { +function multiplayer_registerPlayerConnectionListeners_inline__P7595_mk(s) { checkStack(s.depth); return { - parent: s, fn: console_log__P37784, depth: s.depth + 1, + parent: s, fn: multiplayer_registerPlayerConnectionListeners_inline__P7595, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, } } -function console_add__P37780(s) { +function multiplayer_receiveConnectionChangedEvent__P5379(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2628,78 +2165,58 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.text___47912 = undefined; - s.i___47921 = undefined; + s.c___7600 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 < globals.minPriority___37777); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = s.tmp_0; { step = 5; continue; } case 1: + s.c___7600 = (globals.player1___2123); + { step = 5; continue; } case 2: - s.tmp_1 = console_inspect__P37786_mk(s); - s.tmp_1.arg0 = s.arg1; - s.tmp_1.arg1 = 20; - s.callLocIdx = 32; s.pc = 6; return s.tmp_1; - case 6: - r0 = s.retval; - s.text___47912 = (r0); - if ((s.text___47912) && (s.text___47912).vtable) { - setupResume(s, 7); - pxsim_String__stringConv(s.text___47912); - checkResumeConsumed(); - return; - } else { s.retval = (s.text___47912) + ""; } - case 7: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, "\n"); - s.text___47912 = (r0); - s.i___47921 = (0); + s.c___7600 = (globals.player2___2120); + { step = 5; continue; } case 3: - s.tmp_1 = r0 = s.i___47921; - r0 = pxsim_Array__length(globals.listeners___37779); - 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___37779, s.i___47921); - s.tmp_3.argL = r0; - s.tmp_3.arg0 = s.arg0; - s.tmp_3.arg1 = s.text___47912; - setupLambda(s.tmp_3, s.tmp_3.argL); - s.callLocIdx = 33; s.pc = 8; return s.tmp_3; - case 8: - r0 = s.retval; - r0 = (s.i___47921 + 1); - s.i___47921 = (r0); - { step = 3; continue; } + s.c___7600 = (globals.player3___2121); + { step = 5; continue; } case 4: + s.c___7600 = (globals.player4___2122); case 5: + r0 = pxsim_numops_toBoolDecr(s.c___7600); + if (!r0) { step = 6; continue; } + s.tmp_0 = controller_Controller_connected__P2156_mk(s); + s.tmp_0.arg0 = s.c___7600; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1283; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 6: + case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -console_add__P37780.info = {"start":632,"length":317,"line":28,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"add","argumentNames":["priority","message"]} +multiplayer_receiveConnectionChangedEvent__P5379.info = {"start":1905,"length":552,"line":58,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"receiveConnectionChangedEvent","argumentNames":["playerNumber","connected"]} -function console_add__P37780_mk(s) { +function multiplayer_receiveConnectionChangedEvent__P5379_mk(s) { checkStack(s.depth); return { - parent: s, fn: console_add__P37780, depth: s.depth + 1, + parent: s, fn: multiplayer_receiveConnectionChangedEvent__P5379, depth: s.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___47912: undefined, - i___47921: undefined, + c___7600: undefined, arg0: undefined, arg1: undefined, } } @@ -2708,7 +2225,7 @@ function console_add__P37780_mk(s) { -function console_inspect__P37786(s) { +function controller_Controller_connected__P2156(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2718,230 +2235,50 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.asArr___47952 = undefined; - s.asString___47971 = undefined; - s.keys___47983 = undefined; - s.snipped___47987 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_pxtcore.typeOf(s.arg0); + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = s.arg0.fields["_connected"]; s.tmp_1 = r0; - r0 = (s.tmp_1 == "string"); + 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 = s.arg0; - { step = 17; continue; } - { step = 16; continue; } + r0 = 1; + { step = 2; 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; } + r0 = 2; 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___47952 = (s.arg0); - r0 = pxsim_Array__length(s.asArr___47952); - 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__P37566_mk(s); - s.tmp_2.arg0 = s.asArr___47952; - s.tmp_2.arg1 = ","; - s.callLocIdx = 35; 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__P37566_mk(s); - s.tmp_8 = helpers_arraySlice__P37580_mk(s); - s.tmp_8.arg0 = s.asArr___47952; - s.tmp_8.arg1 = 0; - s.tmp_8.arg2 = s.arg1; - s.callLocIdx = 36; s.pc = 21; return s.tmp_8; - case 21: - r0 = s.retval; - s.tmp_7.arg0 = r0; - s.tmp_7.arg1 = ","; - s.callLocIdx = 37; 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___47971 = (r0); - r0 = (s.asString___47971 != "[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___47971 != "[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___47971; - { step = 17; continue; } - case 8: - case 9: - r0 = pxsim_pxtrt.keysOf(s.arg0); - s.keys___47983 = (r0); - r0 = pxsim_Array__length(s.keys___47983); - s.tmp_0 = r0; - r0 = (s.tmp_0 > s.arg1); - s.snipped___47987 = (r0); - r0 = pxsim_numops_toBoolDecr(s.snipped___47987); - if (!r0) { step = 10; continue; } - s.tmp_0 = helpers_arraySlice__P37580_mk(s); - s.tmp_0.arg0 = s.keys___47983; - s.tmp_0.arg1 = 0; - s.tmp_0.arg2 = s.arg1; - s.callLocIdx = 38; s.pc = 24; return s.tmp_0; - case 24: - r0 = s.retval; - s.keys___47983 = (r0); - case 10: - case 11: - r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P48005); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - r0 = pxsim_numops_toBoolDecr(s.snipped___47987); - 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__P37577_mk(s); - s.tmp_7.arg0 = s.keys___47983; - s.tmp_7.arg1 = s.tmp_0; - r0 = pxsim_String_.mkEmpty(); - s.tmp_7.arg2 = r0; - s.callLocIdx = 39; 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); + r0 = s.arg0.fields["_id"]; s.tmp_2 = r0; - r0 = pxsim_String__concat(s.tmp_2, "\n}"); - { step = 17; continue; } - case 14: - case 15: - case 16: + r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1); + case 3: + case 4: r0 = undefined; - case 17: return leave(s, r0) default: oops() } } } -console_inspect__P37786.info = {"start":2271,"length":1190,"line":81,"column":4,"endLine":114,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"inspect","argumentNames":["obj","maxElements"]} +controller_Controller_connected__P2156.info = {"start":7796,"length":261,"line":254,"column":8,"endLine":259,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this","value"]} -function console_inspect__P37786_mk(s) { +function controller_Controller_connected__P2156_mk(s) { checkStack(s.depth); return { - parent: s, fn: console_inspect__P37786, depth: s.depth + 1, + parent: s, fn: controller_Controller_connected__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, - tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, - tmp_10: undefined, - asArr___47952: undefined, - asString___47971: undefined, - keys___47983: undefined, - snipped___47987: undefined, arg0: undefined, arg1: undefined, } } @@ -2950,7 +2287,7 @@ function console_inspect__P37786_mk(s) { -function console_inspect_inline__P48005(s) { +function controller__player1__P2128(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -2960,65 +2297,55 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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; + r0 = pxsim_numops_toBoolDecr(globals._players___4638); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); 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) + ""; } + 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___4638, 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: - r0 = s.retval; - s.tmp_5 = r0; - r0 = pxsim_String__concat("\n ", s.tmp_5); + // jmp value (already in r0) 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; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C2134_VT); + s.tmp_5 = r0; + r0 = pxsim_Array__mk(); 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 = pxsim_Array__push(s.tmp_6, globals.left___2115); + r0 = pxsim_Array__push(s.tmp_6, globals.up___2116); + r0 = pxsim_Array__push(s.tmp_6, globals.right___2117); + r0 = pxsim_Array__push(s.tmp_6, globals.down___2118); + r0 = pxsim_Array__push(s.tmp_6, globals.A___2113); + r0 = pxsim_Array__push(s.tmp_6, globals.B___2114); + r0 = pxsim_Array__push(s.tmp_6, globals.menu___2119); + s.tmp_7 = controller_Controller_constructor__P2138_mk(s); + s.tmp_7.arg0 = s.tmp_5; + s.tmp_7.arg1 = 1; + s.tmp_7.arg2 = s.tmp_6; + s.callLocIdx = 152; s.pc = 5; return s.tmp_7; + case 5: r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat(s.tmp_0, s.tmp_1); + case 3: + case 4: + r0 = pxsim_Array__getAt(globals._players___4638, 0); return leave(s, r0) default: oops() } } } -console_inspect_inline__P48005.info = {"start":3293,"length":61,"line":108,"column":20,"endLine":108,"endColumn":81,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["prev","currKey"]} +controller__player1__P2128.info = {"start":1381,"length":258,"line":47,"column":4,"endLine":51,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_player1","argumentNames":[]} -function console_inspect_inline__P48005_mk(s) { +function controller__player1__P2128_mk(s) { checkStack(s.depth); return { - parent: s, fn: console_inspect_inline__P48005, depth: s.depth + 1, + parent: s, fn: controller__player1__P2128, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -3028,15 +2355,13 @@ function console_inspect_inline__P48005_mk(s) { tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, - arg0: undefined, - arg1: undefined, } } -function helpers_arraySlice__P37580(s) { +function controller_Controller_constructor__P2138(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3046,104 +2371,110 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.res___46473 = undefined; - s.len___46475 = undefined; - s.i___46509 = undefined; + s.leftId___7656 = undefined; + s.i___7664 = undefined; + s.i___7682 = 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___46473 = (r0); - r0 = pxsim_Array__length(s.arg0); - s.len___46475 = (r0); - r0 = (s.arg1 === undefined); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C2134_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; } - s.arg1 = (0); + r0 = (s.arg0).fields["buttons"] = (s.arg2); { step = 4; continue; } case 1: - r0 = (s.arg1 < 0); + 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 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_1 = Math_max__P37596_mk(s); - r0 = (s.len___46475 + s.arg1); - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 0; - s.callLocIdx = 9; s.pc = 16; return s.tmp_1; - case 16: - r0 = s.retval; - s.arg1 = (r0); + r0 = (1 + s.tmp_0); + s.leftId___7656 = (r0); + s.i___7664 = (0); case 2: - case 3: - case 4: - r0 = (s.arg1 > s.len___46475); + r0 = (s.i___7664 < 7); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - r0 = s.res___46473; - { step = 15; continue; } - case 5: - case 6: - r0 = (s.arg2 === undefined); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C2189_VT); s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 7; continue; } - s.arg2 = (s.len___46475); - { step = 10; continue; } + s.tmp_2 = controller_Button_constructor__P2195_mk(s); + s.tmp_2.arg0 = s.tmp_1; + r0 = (s.leftId___7656 + s.i___7664); + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = -1; + s.callLocIdx = 158; s.pc = 7; return s.tmp_2; case 7: - r0 = (s.arg2 < 0); + 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___7664 + 1); + s.i___7664 = (r0); + { step = 2; continue; } + case 3: + case 4: + s.i___7682 = (0); + case 5: + s.tmp_1 = r0 = s.i___7682; + 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 = 8; continue; } - r0 = (s.len___46475 + s.arg2); - s.arg2 = (r0); + if (!r0) { step = 6; continue; } + r0 = s.arg0.fields["buttons"]; + s.tmp_5 = r0; + r0 = pxsim_Array__getAt(s.tmp_5, s.i___7682); + s.tmp_4 = r0; + r0 = (s.tmp_4).fields["_owner"] = (s.arg0); + r0 = (s.i___7682 + 1); + s.i___7682 = (r0); + { step = 5; continue; } + case 6: + s.tmp_0 = controller_addController__P4702_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 159; s.pc = 8; return s.tmp_0; case 8: - case 9: - case 10: - r0 = (s.arg2 > s.len___46475); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 11; continue; } - s.arg2 = (s.len___46475); - case 11: - case 12: - s.i___46509 = (s.arg1); - case 13: - r0 = (s.i___46509 < s.arg2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 14; continue; } - s.tmp_1 = r0 = s.res___46473; - r0 = pxsim_Array__getAt(s.arg0, s.i___46509); - s.tmp_2 = r0; - r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); - r0 = (s.i___46509 + 1); - s.i___46509 = (r0); - { step = 13; continue; } - case 14: - r0 = s.res___46473; - case 15: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arraySlice__P37580.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"]} +controller_Controller_constructor__P2138.info = {"start":2452,"length":696,"line":82,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","playerIndex","buttons"]} -function helpers_arraySlice__P37580_mk(s) { +function controller_Controller_constructor__P2138_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arraySlice__P37580, depth: s.depth + 1, + parent: s, fn: controller_Controller_constructor__P2138, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - res___46473: undefined, - len___46475: undefined, - i___46509: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + leftId___7656: undefined, + i___7664: undefined, + i___7682: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -3153,7 +2484,7 @@ function helpers_arraySlice__P37580_mk(s) { -function helpers_arrayReduce__P37577(s) { +function controller_addController__P4702(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3163,62 +2494,48 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.len___48032 = undefined; - s.i___48035 = 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___48032 = (r0); - s.i___48035 = (0); - case 1: - r0 = (s.i___48035 < s.len___48032); + r0 = pxsim_numops_toBoolDecr(globals._players___4638); + 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_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___48035); - s.tmp_1.arg1 = r0; - s.tmp_1.arg2 = s.i___48035; - setupLambda(s.tmp_1, s.tmp_1.argL); - s.callLocIdx = 8; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - s.arg2 = (r0); - r0 = (s.i___48035 + 1); - s.i___48035 = (r0); - { step = 1; continue; } + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._players___4638 = (r0); + case 1: case 2: - r0 = s.arg2; + s.tmp_0 = r0 = globals._players___4638; + 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() } } } -helpers_arrayReduce__P37577.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"]} +controller_addController__P4702.info = {"start":1218,"length":157,"line":40,"column":4,"endLine":45,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"addController","argumentNames":["ctrl"]} -function helpers_arrayReduce__P37577_mk(s) { +function controller_addController__P4702_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayReduce__P37577, depth: s.depth + 1, + parent: s, fn: controller_addController__P4702, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - len___48032: undefined, - i___48035: undefined, + tmp_2: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function helpers_arrayJoin__P37566(s) { +function control_onEvent__P391(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3228,153 +2545,63 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.r___48060 = undefined; - s.len___48061 = undefined; - s.i___48064 = undefined; + s.ctx___7755 = 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.arg1 === undefined); + s.tmp_0 = control_eventContext__P408_mk(s); + s.callLocIdx = 40; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.ctx___7755 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___7755); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = s.tmp_0; + r0 = pxsim.control.internalOnEvent(s.arg0, s.arg1, s.arg2, s.arg3); { 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: + s.tmp_0 = control_EventContext_registerHandler__P405_mk(s); + s.tmp_0.arg0 = s.ctx___7755; + 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 = 41; s.pc = 4; return s.tmp_0; case 4: - r0 = pxsim_String_.mkEmpty(); - s.r___48060 = (r0); - r0 = pxsim_Array__length(s.arg0); - s.len___48061 = (r0); - s.i___48064 = (0); - case 5: - r0 = (s.i___48064 < s.len___48061); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 14; continue; } - r0 = (s.i___48064 > 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___48060) && (s.r___48060).vtable) { - setupResume(s, 15); - pxsim_String__stringConv(s.r___48060); - checkResumeConsumed(); - return; - } else { s.retval = (s.r___48060) + ""; } - 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___48060 = (r0); - case 8: - case 9: - r0 = pxsim_Array__getAt(s.arg0, s.i___48064); - 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___48064); - 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___48064); - case 13: - // jmp value (already in r0) - s.tmp_4 = r0; - if ((s.r___48060) && (s.r___48060).vtable) { - setupResume(s, 17); - pxsim_String__stringConv(s.r___48060); - checkResumeConsumed(); - return; - } else { s.retval = (s.r___48060) + ""; } - 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___48060 = (r0); - r0 = (s.i___48064 + 1); - s.i___48064 = (r0); - { step = 5; continue; } - case 14: - r0 = s.r___48060; + case 2: + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arrayJoin__P37566.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"]} +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 helpers_arrayJoin__P37566_mk(s) { +function control_onEvent__P391_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayJoin__P37566, depth: s.depth + 1, + 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, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - tmp_5: undefined, - tmp_6: undefined, - r___48060: undefined, - len___48061: undefined, - i___48064: undefined, + ctx___7755: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function listeners_inline__P37778(s) { +function control_eventContext__P408(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3384,32 +2611,42 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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 = pxsim_numops_toBoolDecr(globals.eventContexts___4422); + if (!r0) { step = 1; continue; } + s.tmp_0 = r0 = globals.eventContexts___4422; + r0 = pxsim_Array__length(globals.eventContexts___4422); + 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() } } } -listeners_inline__P37778.info = {"start":534,"length":85,"line":25,"column":8,"endLine":25,"endColumn":93,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["priority","text"]} +control_eventContext__P408.info = {"start":7094,"length":136,"line":213,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"eventContext","argumentNames":[]} -function listeners_inline__P37778_mk(s) { +function control_eventContext__P408_mk(s) { checkStack(s.depth); return { - parent: s, fn: listeners_inline__P37778, depth: s.depth + 1, + parent: s, fn: control_eventContext__P408, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, - arg1: undefined, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, } } -function game_consoleOverlay_setVisible__P39749(s) { +function control_EventContext_registerHandler__P405(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3419,162 +2656,90 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.h___7778 = undefined; + s.unnamed60___U1 = undefined; + s.unnamed61___U2 = undefined; + s.hn___7801 = 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_1 = r0 = s.arg0; - r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___39710); - s.tmp_5 = r0; - r0 = pxsim_Boolean__bang(s.tmp_5); - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + s.h___7778 = (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___7778 = (r0); + r0 = s.h___7778.fields["src"]; s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); + r0 = (s.tmp_3 == 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 = 3; continue; } - r0 = pxsim_numops_toBoolDecr(s.arg0); - if (!r0) { step = 1; continue; } - r0 = pxsim_Array__mk(); - { step = 2; continue; } - case 1: - r0 = undefined; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 2; continue; } + r0 = s.tmp_2; + { step = 3; continue; } case 2: - // jmp value (already in r0) - s.tmp_6 = r0; - globals.consoleStrings___39710 = (s.tmp_6); + r0 = s.h___7778.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___7778).fields["flags"] = (s.arg4); + r0 = (s.h___7778).fields["handler"] = (s.arg3); + { step = 7; continue; } case 4: - r0 = (s.arg1 !== undefined); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - globals.consoleColor___39709 = (s.arg1); case 5: + r0 = (s.unnamed61___U2 + 1); + s.unnamed61___U2 = (r0); + { step = 1; continue; } case 6: - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -game_consoleOverlay_setVisible__P39749.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__P39749_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: game_consoleOverlay_setVisible__P39749, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 game_eventContext__P39341(s) { -let r0 = s.r0, step = 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__P39342_mk(s); - s.tmp_0.arg0 = undefined; - s.callLocIdx = 943; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = globals._scene___39331.fields["eventContext"]; - return leave(s, r0) - default: oops() -} } } -game_eventContext__P39341.info = {"start":4442,"length":112,"line":136,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"eventContext","argumentNames":[]} - -function game_eventContext__P39341_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: game_eventContext__P39341, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, -} } - - - - - -function game_init__P39342(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(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___39331); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + s.unnamed60___U1 = (undefined); + r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C4414_VT); 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__C38446_VT); - s.tmp_3 = r0; - s.tmp_4 = scene_Scene_constructor__P39213_mk(s); - s.tmp_4.arg0 = s.tmp_3; - s.tmp_5 = control_pushEventContext__P37830_mk(s); - s.callLocIdx = 944; s.pc = 6; return s.tmp_5; - case 6: + s.tmp_1 = control_EventHandler_constructor__P4417_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 = 52; s.pc = 8; return s.tmp_1; + case 8: r0 = s.retval; - s.tmp_4.arg1 = r0; - s.tmp_4.arg2 = globals._scene___39331; - s.callLocIdx = 945; s.pc = 5; return s.tmp_4; - case 5: + s.hn___7801 = (s.tmp_0); + r0 = s.arg0.fields["handlers"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.hn___7801); + s.tmp_0 = control_EventHandler_register__P4415_mk(s); + s.tmp_0.arg0 = s.hn___7801; + s.callLocIdx = 53; s.pc = 9; return s.tmp_0; + case 9: r0 = s.retval; - globals._scene___39331 = (s.tmp_3); - case 3: - case 4: - s.tmp_0 = scene_Scene_init__P38447_mk(s); - s.tmp_0.arg0 = globals._scene___39331; - s.callLocIdx = 946; s.pc = 7; return s.tmp_0; case 7: - r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -game_init__P39342.info = {"start":4560,"length":194,"line":141,"column":4,"endLine":146,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["forceNewScene"]} +control_EventContext_registerHandler__P405.info = {"start":5760,"length":525,"line":173,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerHandler","argumentNames":["this","src","value","handler","flags"]} -function game_init__P39342_mk(s) { +function control_EventContext_registerHandler__P405_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_init__P39342, depth: s.depth + 1, + 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, @@ -3582,14 +2747,22 @@ function game_init__P39342_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, + h___7778: undefined, + unnamed60___U1: undefined, + unnamed61___U2: undefined, + hn___7801: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, } } -function scene_Scene_constructor__P39213(s) { +function control_EventHandler_constructor__P4417(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3603,114 +2776,39 @@ switch (step) { 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, scene_Scene__C38446_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__C38855_VT); - s.tmp_0 = r0; - s.tmp_1 = ArcadePhysicsEngine_constructor__P38877_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = 500; - s.tmp_1.arg2 = 2; - s.tmp_1.arg3 = 4; - s.callLocIdx = 904; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - r0 = (s.arg0).fields["physicsEngine"] = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C39137_VT); - s.tmp_0 = r0; - s.tmp_1 = scene_Camera_constructor__P39151_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.callLocIdx = 905; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - r0 = (s.arg0).fields["camera"] = (s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C39037_VT); - s.tmp_0 = r0; - s.tmp_1 = scene_Background_constructor__P39043_mk(s); - s.tmp_1.arg0 = s.tmp_0; - r0 = s.arg0.fields["camera"]; - s.tmp_1.arg1 = r0; - s.callLocIdx = 906; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - r0 = (s.arg0).fields["background"] = (s.tmp_0); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["destroyedHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["createdHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["overlapHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_pxtrt.mkMap(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["overlapMap"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["tileOverlapHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["collisionHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["wallCollisionHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["gameForeverHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_pxtrt.mkMap(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["spritesByKind"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["controlledSprites"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["buttonEventHandlers"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_pxtrt.mkMap(); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_data"] = (s.tmp_1); - r0 = (s.arg0).fields["_millis"] = (0); + if (!checkSubtype(r0, control_EventHandler__C4414_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() } } } -scene_Scene_constructor__P39213.info = {"start":3586,"length":836,"line":106,"column":8,"endLine":125,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","eventContext","previousScene"]} +control_EventHandler_constructor__P4417.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 scene_Scene_constructor__P39213_mk(s) { +function control_EventHandler_constructor__P4417_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_constructor__P39213, depth: s.depth + 1, + parent: s, fn: control_EventHandler_constructor__P4417, 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_Camera_constructor__P39151(s) { +function control_EventHandler_register__P4415(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3725,22 +2823,32 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_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); + if (!checkSubtype(r0, control_EventHandler__C4414_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkAction(1, control_EventHandler_register_inline__P7822); + 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() } } } -scene_Camera_constructor__P39151.info = {"start":550,"length":156,"line":17,"column":8,"endLine":23,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"inline","argumentNames":["this"]} +control_EventHandler_register__P4415.info = {"start":961,"length":165,"line":30,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} -function scene_Camera_constructor__P39151_mk(s) { +function control_EventHandler_register__P4415_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_constructor__P39151, depth: s.depth + 1, + parent: s, fn: control_EventHandler_register__P4415, depth: s.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, } } @@ -3748,7 +2856,7 @@ function scene_Camera_constructor__P39151_mk(s) { -function scene_Background_constructor__P39043(s) { +function control_EventHandler_register_inline__P7822(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3758,41 +2866,45 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); - s.lambdaArgs = null; + 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 = 42; 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 = 42; s.pc = 3; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 42; s.pc = 3; return s.tmp_1;; } + else { s.callLocIdx = 42; s.pc = 3; return s.tmp_1; } } - r0 = s.arg0; - if (!checkSubtype(r0, scene_Background__C39037_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); + case 3: + r0 = s.retval; + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Background_constructor__P39043.info = {"start":367,"length":132,"line":20,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","camera"]} +control_EventHandler_register_inline__P7822.info = {"start":1032,"length":71,"line":31,"column":58,"endLine":33,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} -function scene_Background_constructor__P39043_mk(s) { +function control_EventHandler_register_inline__P7822_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Background_constructor__P39043, depth: s.depth + 1, + parent: s, fn: control_EventHandler_register_inline__P7822, 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__P38877(s) { +function multiplayer_initServer__P3387(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3802,70 +2914,47 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38855_VT)) failedCast(r0); - r0 = undefined; - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); + r0 = pxsim.multiplayer.getOrigin(); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["sprites"] = (s.tmp_1); - r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C38751_VT); + r0 = (s.tmp_1 === "server"); s.tmp_0 = r0; - s.tmp_1 = sprites_SpriteMap_constructor__P38762_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.callLocIdx = 525; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - r0 = (s.arg0).fields["map"] = (s.tmp_0); - s.tmp_0 = ArcadePhysicsEngine_maxSpeed__P38858_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 526; s.pc = 2; return s.tmp_0; - case 2: + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = control_EventContext_registerFrameHandler__P403_mk(s); + s.tmp_3 = game_eventContext__P3001_mk(s); + s.callLocIdx = 1276; s.pc = 4; return s.tmp_3; + case 4: r0 = s.retval; - s.tmp_0 = ArcadePhysicsEngine_maxStep__P38862_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg3; - s.callLocIdx = 527; s.pc = 3; return s.tmp_0; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 210; + s.tmp_2.arg2 = multiplayer_initServer_inline__P7841; + s.callLocIdx = 1277; s.pc = 3; return s.tmp_2; case 3: r0 = s.retval; - s.tmp_0 = ArcadePhysicsEngine_minStep__P38860_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg2; - s.callLocIdx = 528; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_constructor__P38877.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"]} +multiplayer_initServer__P3387.info = {"start":1011,"length":307,"line":29,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"initServer","argumentNames":[]} -function ArcadePhysicsEngine_constructor__P38877_mk(s) { +function multiplayer_initServer__P3387_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_constructor__P38877, depth: s.depth + 1, + parent: s, fn: multiplayer_initServer__P3387, 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, + tmp_2: undefined, + tmp_3: undefined, } } -function ArcadePhysicsEngine_maxStep__P38862(s) { +function multiplayer_initServer_inline__P7841(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3875,42 +2964,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38855_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); - s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + r0 = pxsim.multiplayer.getOrigin(); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["maxSingleStep"] = (s.tmp_1); + r0 = (s.tmp_1 === "server"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.multiplayer.postImage(globals.screen___2032); + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_maxStep__P38862.info = {"start":2329,"length":67,"line":88,"column":4,"endLine":90,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"maxStep","argumentNames":["this","v"]} +multiplayer_initServer_inline__P7841.info = {"start":1175,"length":126,"line":31,"column":93,"endLine":35,"endColumn":13,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} -function ArcadePhysicsEngine_maxStep__P38862_mk(s) { +function multiplayer_initServer_inline__P7841_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_maxStep__P38862, depth: s.depth + 1, + parent: s, fn: multiplayer_initServer_inline__P7841, 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__P38861(s) { +function game_consoleOverlay_draw__P3126(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3920,73 +3002,216 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; + s.height___7894 = undefined; + s.top___7899 = undefined; + s.i___7905 = undefined; + s.t___7918 = undefined; + s.tOff___7925 = undefined; + s.tab___7927 = undefined; + s.unnamed90___U6 = undefined; + s.unnamed91___U7 = undefined; + s.padding___7929 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___5221); + 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___5175); + 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___5229; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 1130; s.pc = 14; return s.tmp_7; } } - r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - r0 = s.arg0.fields["maxSingleStep"]; + case 14: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 2); + s.height___7894 = (r0); + r0 = pxsim_numops_toBoolDecr(globals.stats___2967); + if (!r0) { step = 5; continue; } + r0 = s.height___7894; + { step = 6; continue; } + case 5: + r0 = 0; + case 6: + // jmp value (already in r0) s.tmp_0 = r0; - r0 = (s.tmp_0 + 128); + r0 = (2 + s.tmp_0); + s.top___7899 = (r0); + s.i___7905 = (0); + case 7: + s.tmp_1 = r0 = s.i___7905; + r0 = pxsim_Array__length(globals.consoleStrings___5221); + 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___5221, s.i___7905); + 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___5221, s.i___7905); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = "\t"; + s.tmp_6.arg2 = undefined; + s.callLocIdx = 1131; s.pc = 15; return s.tmp_6; + case 15: + r0 = s.retval; + s.t___7918 = (r0); + s.tOff___7925 = (0); + s.tab___7927 = (undefined); + s.unnamed90___U6 = (s.t___7918); + 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_1 >> 8); - return leaveAccessor(s, r0) - default: oops() -} } } -ArcadePhysicsEngine_maxStep__P38861.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__P38861.isGetter = true; - -function ArcadePhysicsEngine_maxStep__P38861_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: ArcadePhysicsEngine_maxStep__P38861, 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__P37647(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; -switch (step) { - case 0: - - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 9; continue; } + r0 = pxsim_Array__getAt(s.unnamed90___U6, s.unnamed91___U7); + s.tab___7927 = (r0); + s.tmp_2 = r0 = globals.tabSize___5223; + s.tmp_5 = r0 = s.tOff___7925; + r0 = pxsim_String_.length(s.tab___7927); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_4 % globals.tabSize___5223); + s.tmp_3 = r0; + r0 = (s.tmp_2 - s.tmp_3); + s.padding___7929 = (r0); + s.tmp_0 = helpers_imagePrint__P1990_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_0.arg1 = s.tab___7927; + s.tmp_2 = r0 = s.tOff___7925; + s.tmp_4 = if_charWidth_1_mk(s); + s.tmp_4.arg0 = globals.consoleFont___5229; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 1132; s.pc = 17; return s.tmp_4; } } - r0 = (s.arg0 + 128); - s.tmp_0 = r0; - r0 = (s.tmp_0 >> 8); + 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___7899; + r0 = (s.i___7905 * s.height___7894); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = globals.consoleColor___5220; + s.tmp_0.arg5 = globals.consoleFont___5229; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 1133; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.tmp_0 = r0 = s.tOff___7925; + r0 = pxsim_String_.length(s.tab___7927); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.padding___7929); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.tOff___7925 = (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__P1990_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + r0 = pxsim_Array__getAt(globals.consoleStrings___5221, s.i___7905); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 4; + s.tmp_1 = r0 = s.top___7899; + r0 = (s.i___7905 * s.height___7894); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = globals.consoleColor___5220; + s.tmp_0.arg5 = globals.consoleFont___5229; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 1134; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + case 11: + r0 = (s.i___7905 + 1); + s.i___7905 = (r0); + { step = 7; continue; } + case 12: + case 13: + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx_toInt__P37647.info = {"start":2379,"length":86,"line":74,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toInt","argumentNames":["v"]} +game_consoleOverlay_draw__P3126.info = {"start":1364,"length":859,"line":44,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"draw","argumentNames":[]} -function Fx_toInt__P37647_mk(s) { +function game_consoleOverlay_draw__P3126_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_toInt__P37647, depth: s.depth + 1, + parent: s, fn: game_consoleOverlay_draw__P3126, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + height___7894: undefined, + top___7899: undefined, + i___7905: undefined, + t___7918: undefined, + tOff___7925: undefined, + tab___7927: undefined, + unnamed90___U6: undefined, + unnamed91___U7: undefined, + padding___7929: undefined, } } -function ArcadePhysicsEngine_minStep__P38860(s) { +function scene_systemMenu_isVisible__P3107(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -3996,42 +3221,33 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38855_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); + r0 = pxsim_numops_toBoolDecr(globals.instance___5175); s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + r0 = pxsim_Boolean__bang(s.tmp_2); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["minSingleStep"] = (s.tmp_1); - r0 = undefined; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_minStep__P38860.info = {"start":2176,"length":67,"line":80,"column":4,"endLine":82,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"minStep","argumentNames":["this","v"]} +scene_systemMenu_isVisible__P3107.info = {"start":13170,"length":62,"line":395,"column":4,"endLine":397,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"isVisible","argumentNames":[]} -function ArcadePhysicsEngine_minStep__P38860_mk(s) { +function scene_systemMenu_isVisible__P3107_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_minStep__P38860, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_isVisible__P3107, 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__P38859(s) { +function helpers_imagePrint__P1990(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4041,38 +3257,506 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.x0___8001 = undefined; + s.cp___8003 = undefined; + s.mult___8004 = undefined; + s.dataW___8009 = undefined; + s.dataH___8015 = undefined; + s.byteHeight___8021 = undefined; + s.charSize___8027 = undefined; + s.dataSize___8031 = undefined; + s.fontdata___8035 = undefined; + s.lastchar___8038 = undefined; + s.imgBuf___8045 = undefined; + s.xOffset___8069 = undefined; + s.yOffset___8070 = undefined; + s.ch___8085 = undefined; + s.l___8104 = undefined; + s.r___8105 = undefined; + s.off___8107 = undefined; + s.guess___8108 = undefined; + s.m___8127 = undefined; + s.v___8136 = undefined; + s.i___8192 = undefined; + s.j___8197 = undefined; + s.mask___8198 = undefined; + s.c___8199 = undefined; + s.n___8216 = 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.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - r0 = s.arg0.fields["minSingleStep"]; + 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 = (s.tmp_0 + 128); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = image_getFontForText__P1977_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 98; 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 = (s.tmp_1 >> 8); - return leaveAccessor(s, 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___8001 = (s.arg2); + s.cp___8003 = (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 = 99; 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 = 100; 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___8004 = (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 = 101; 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___8004); + s.dataW___8009 = (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 = 102; 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___8004); + s.dataH___8015 = (r0); + r0 = (s.dataH___8015 + 7); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 3); + s.byteHeight___8021 = (r0); + r0 = (s.byteHeight___8021 * s.dataW___8009); + s.charSize___8027 = (r0); + r0 = (2 + s.charSize___8027); + s.dataSize___8031 = (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 = 103; s.pc = 44; return s.tmp_0; } + } + case 44: + r0 = s.retval; + s.fontdata___8035 = (r0); + r0 = pxsim.BufferMethods.length(s.fontdata___8035); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___8031); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + s.lastchar___8038 = (r0); + r0 = (s.mult___8004 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = (8 + s.charSize___8027); + s.tmp_1 = r0; + r0 = pxsim.control.createBuffer(s.tmp_1); + s.imgBuf___8045 = (r0); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___8045, 0, 135); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___8045, 1, 1); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___8045, 2, s.dataW___8009); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___8045, 4, s.dataH___8015); + case 7: + case 8: + case 9: + s.tmp_1 = r0 = s.cp___8003; + 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___8069 = (0); + s.yOffset___8070 = (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___8003; + 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___8003); + 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 = 104; s.pc = 45; return s.tmp_4; } + } + case 45: + r0 = s.retval; + s.xOffset___8069 = (r0); + s.tmp_0 = if_yOffset_1_mk(s); + r0 = pxsim_Array__getAt(s.arg6, s.cp___8003); + 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 = 105; s.pc = 46; return s.tmp_0; } + } + case 46: + r0 = s.retval; + s.yOffset___8070 = (r0); + case 12: + case 13: + s.tmp_0 = r0 = s.cp___8003; + r0 = (s.tmp_0 + 1); + s.cp___8003 = (r0); + r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0); + s.ch___8085 = (r0); + r0 = (s.ch___8085 == 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 = 106; 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___8001); + case 14: + case 15: + r0 = (s.ch___8085 < 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___8104 = (0); + s.r___8105 = (s.lastchar___8038); + s.off___8107 = (0); + r0 = (s.ch___8085 - 32); + s.tmp_0 = r0; + r0 = (s.tmp_0 * s.dataSize___8031); + s.guess___8108 = (r0); + r0 = pxsim.BufferMethods.getNumber(s.fontdata___8035, 4, s.guess___8108); + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.ch___8085); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 18; continue; } + s.off___8107 = (s.guess___8108); + { step = 25; continue; } + case 18: + case 19: + r0 = (s.l___8104 <= s.r___8105); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 24; continue; } + s.tmp_1 = r0 = s.l___8104; + r0 = (s.r___8105 - s.l___8104); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.m___8127 = (r0); + s.tmp_0 = r0 = s.fontdata___8035; + r0 = (s.m___8127 * s.dataSize___8031); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1); + s.v___8136 = (r0); + r0 = (s.v___8136 == s.ch___8085); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = (s.m___8127 * s.dataSize___8031); + s.off___8107 = (r0); + { step = 24; continue; } + case 20: + case 21: + r0 = (s.v___8136 < s.ch___8085); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = (s.m___8127 + 1); + s.l___8104 = (r0); + { step = 23; continue; } + case 22: + r0 = (s.m___8127 - 1); + s.r___8105 = (r0); + case 23: + { step = 19; continue; } + case 24: + case 25: + r0 = (s.mult___8004 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 26; continue; } + s.tmp_1 = r0 = s.imgBuf___8045; + s.tmp_3 = r0 = s.fontdata___8035; + r0 = (s.off___8107 + 2); + s.tmp_4 = r0; + r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___8027); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2); + s.tmp_0 = helpers_imageDrawIcon__P1955_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.imgBuf___8045; + r0 = (s.arg2 + s.xOffset___8069); + s.tmp_0.arg2 = r0; + r0 = (s.arg3 + s.yOffset___8070); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = s.arg4; + s.callLocIdx = 107; 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 = 108; 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___8107 + 2); + s.off___8107 = (r0); + s.i___8192 = (0); + case 27: + r0 = (s.i___8192 < s.dataW___8009); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 36; continue; } + s.j___8197 = (0); + s.mask___8198 = (1); + s.tmp_0 = r0 = s.off___8107; + r0 = (s.tmp_0 + 1); + s.off___8107 = (r0); + r0 = pxsim.BufferMethods.getByte(s.fontdata___8035, s.tmp_0); + s.c___8199 = (r0); + case 28: + r0 = (s.j___8197 < s.dataH___8015); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 35; continue; } + r0 = (s.mask___8198 == 256); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 29; continue; } + s.tmp_2 = r0 = s.off___8107; + r0 = (s.tmp_2 + 1); + s.off___8107 = (r0); + r0 = pxsim.BufferMethods.getByte(s.fontdata___8035, s.tmp_2); + s.c___8199 = (r0); + s.mask___8198 = (1); + case 29: + case 30: + s.n___8216 = (0); + case 31: + r0 = (s.c___8199 & s.mask___8198); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 32; continue; } + r0 = (s.n___8216 + 1); + s.n___8216 = (r0); + r0 = (s.mask___8198 << 1); + s.mask___8198 = (r0); + { step = 31; continue; } + case 32: + r0 = pxsim_numops_toBoolDecr(s.n___8216); + if (!r0) { step = 33; continue; } + s.tmp_0 = helpers_imageFillRect__P1956_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg2; + r0 = (s.xOffset___8069 * s.mult___8004); + 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___8197 + s.yOffset___8070); + s.tmp_5 = r0; + r0 = (s.tmp_5 * s.mult___8004); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.mult___8004; + r0 = (s.mult___8004 * s.n___8216); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.arg4; + s.callLocIdx = 109; s.pc = 50; return s.tmp_0; + case 50: + r0 = s.retval; + r0 = (s.j___8197 + s.n___8216); + s.j___8197 = (r0); + { step = 34; continue; } + case 33: + r0 = (s.mask___8198 << 1); + s.mask___8198 = (r0); + r0 = (s.j___8197 + 1); + s.j___8197 = (r0); + case 34: + { step = 28; continue; } + case 35: + r0 = (s.arg2 + s.mult___8004); + s.arg2 = (r0); + r0 = (s.i___8192 + 1); + s.i___8192 = (r0); + { step = 27; continue; } + case 36: + case 37: + { step = 9; continue; } + case 38: + r0 = undefined; + return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_minStep__P38859.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__P38859.isGetter = true; +helpers_imagePrint__P1990.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 ArcadePhysicsEngine_minStep__P38859_mk(s) { +function helpers_imagePrint__P1990_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_minStep__P38859, depth: s.depth + 1, + parent: s, fn: helpers_imagePrint__P1990, depth: s.depth + 1, pc: 0, retval: undefined, 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___8001: undefined, + cp___8003: undefined, + mult___8004: undefined, + dataW___8009: undefined, + dataH___8015: undefined, + byteHeight___8021: undefined, + charSize___8027: undefined, + dataSize___8031: undefined, + fontdata___8035: undefined, + lastchar___8038: undefined, + imgBuf___8045: undefined, + xOffset___8069: undefined, + yOffset___8070: undefined, + ch___8085: undefined, + l___8104: undefined, + r___8105: undefined, + off___8107: undefined, + guess___8108: undefined, + m___8127: undefined, + v___8136: undefined, + i___8192: undefined, + j___8197: undefined, + mask___8198: undefined, + c___8199: undefined, + n___8216: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, } } -function ArcadePhysicsEngine_maxSpeed__P38858(s) { +function image_getFontForText__P1977(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4082,48 +3766,60 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.i___8326 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_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.i___8326 = (0); + case 1: + s.tmp_1 = r0 = s.i___8326; + r0 = pxsim_String_.length(s.arg0); s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["maxNegativeVelocity"] = (s.tmp_1); - r0 = undefined; + 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___8326); + 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___1976; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.i___8326 + 1); + s.i___8326 = (r0); + { step = 1; continue; } + case 4: + r0 = globals.font8___1975; + case 5: return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_maxSpeed__P38858.info = {"start":1963,"length":127,"line":71,"column":4,"endLine":74,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"maxSpeed","argumentNames":["this","v"]} +image_getFontForText__P1977.info = {"start":11713,"length":259,"line":136,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"getFontForText","argumentNames":["text"]} -function ArcadePhysicsEngine_maxSpeed__P38858_mk(s) { +function image_getFontForText__P1977_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_maxSpeed__P38858, depth: s.depth + 1, + parent: s, fn: image_getFontForText__P1977, depth: s.depth + 1, pc: 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___8326: undefined, arg0: undefined, - arg1: undefined, } } -function Fx_neg__P37630(s) { +function helpers_imageFillRect__P1956(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4135,27 +3831,58 @@ switch (step) { 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 = (0 - s.arg0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = helpers_pack__P4559_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_2.arg1 = s.arg2; + s.callLocIdx = 80; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = helpers_pack__P4559_mk(s); + s.tmp_4.arg0 = s.arg3; + s.tmp_4.arg1 = s.arg4; + s.callLocIdx = 81; 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() } } } -Fx_neg__P37630.info = {"start":311,"length":88,"line":14,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"neg","argumentNames":["a"]} +helpers_imageFillRect__P1956.info = {"start":5454,"length":159,"line":176,"column":4,"endLine":178,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageFillRect","argumentNames":["img","x","y","w","h","c"]} -function Fx_neg__P37630_mk(s) { +function helpers_imageFillRect__P1956_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_neg__P37630, depth: s.depth + 1, + parent: s, fn: helpers_imageFillRect__P1956, depth: s.depth + 1, pc: 0, retval: 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 ArcadePhysicsEngine_maxSpeed__P38857(s) { +function helpers_pack__P4559(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4167,36 +3894,57 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - r0 = s.arg0.fields["maxVelocity"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 128); + 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 = 77; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_1 >> 8); - return leaveAccessor(s, 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 = 78; 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() } } } -ArcadePhysicsEngine_maxSpeed__P38857.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__P38857.isGetter = true; +helpers_pack__P4559.info = {"start":4278,"length":145,"line":148,"column":4,"endLine":150,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"pack","argumentNames":["x","y"]} -function ArcadePhysicsEngine_maxSpeed__P38857_mk(s) { +function helpers_pack__P4559_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_maxSpeed__P38857, depth: s.depth + 1, + parent: s, fn: helpers_pack__P4559, depth: s.depth + 1, pc: 0, retval: undefined, 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 PhysicsEngine_constructor__P38812(s) { +function Math_clamp__P127(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4208,29 +3956,44 @@ switch (step) { 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, PhysicsEngine__C38804_VT)) failedCast(r0); - r0 = undefined; + 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 = 15; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 16; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; return leave(s, r0) default: oops() } } } -PhysicsEngine_constructor__P38812.info = {"start":26,"length":21,"line":1,"column":4,"endLine":2,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this"]} +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 PhysicsEngine_constructor__P38812_mk(s) { +function Math_clamp__P127_mk(s) { checkStack(s.depth); return { - parent: s, fn: PhysicsEngine_constructor__P38812, depth: s.depth + 1, + 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 sprites_SpriteMap_constructor__P38762(s) { +function Math_min__P131(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4242,35 +4005,39 @@ switch (step) { 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; - if (!checkSubtype(r0, sprites_SpriteMap__C38751_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; + { step = 3; continue; } + case 1: + case 2: + r0 = s.arg1; + case 3: return leave(s, r0) default: oops() } } } -sprites_SpriteMap_constructor__P38762.info = {"start":237,"length":56,"line":8,"column":8,"endLine":10,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["this"]} +Math_min__P131.info = {"start":16854,"length":105,"line":568,"column":4,"endLine":571,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"min","argumentNames":["a","b"]} -function sprites_SpriteMap_constructor__P38762_mk(s) { +function Math_min__P131_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_constructor__P38762, depth: s.depth + 1, + parent: s, fn: Math_min__P131, 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_init__P38447(s) { +function Math_max__P130(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4282,136 +4049,282 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, scene_Scene__C38446_VT)) failedCast(r0); - r0 = s.arg0.fields["allSprites"]; + 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: - s.tmp_1 = power_poke__P38236_mk(s); - s.callLocIdx = 907; s.pc = 4; return s.tmp_1; - case 4: - r0 = s.retval; + r0 = s.arg1; + case 3: + return leave(s, r0) + default: oops() +} } } +Math_max__P130.info = {"start":16614,"length":105,"line":558,"column":4,"endLine":561,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]} + +function Math_max__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 helpers_imageDrawIcon__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: + + 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; - 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__P42949); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 8; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 910; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - s.tmp_0 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = 13; - s.tmp_0.arg2 = controller__moveSprites__P38523; - s.callLocIdx = 911; s.pc = 6; return s.tmp_0; - case 6: + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = helpers_pack__P4559_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg3; + s.callLocIdx = 79; s.pc = 1; return s.tmp_3; + case 1: r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P42974); + 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__P1955.info = {"start":5304,"length":145,"line":173,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawIcon","argumentNames":["img","icon","x","y","c"]} + +function helpers_imageDrawIcon__P1955_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawIcon__P1955, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function helpers_stringSplit__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___8349 = undefined; + s.lim___8351 = undefined; + s.s___8367 = undefined; + s.p___8370 = undefined; + s.R___8371 = undefined; + s.z___8385 = undefined; + s.T___8398 = undefined; + s.q___8399 = undefined; + s.e___8405 = 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___8349 = (r0); + s.lim___8351 = (0); + r0 = (s.arg2 === undefined); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 15; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 913; s.pc = 7; return s.tmp_1; - case 7: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P42988); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (536870912 - 1); + s.lim___8351 = (r0); + { step = 4; continue; } + case 1: + r0 = (s.arg2 < 0); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 55; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 917; s.pc = 8; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.lim___8351 = (0); + { step = 3; continue; } + case 2: + r0 = (s.arg2 | 0); + s.lim___8351 = (r0); + case 3: + case 4: + r0 = pxsim_String_.length(s.arg0); + s.s___8367 = (r0); + s.p___8370 = (0); + s.R___8371 = (s.arg1); + r0 = (s.lim___8351 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.A___8349; + { 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___8349, 0, s.arg0); + r0 = s.A___8349; + { step = 21; continue; } + case 7: case 8: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P43011); + r0 = (s.s___8367 == 0); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 90; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 919; s.pc = 9; return s.tmp_1; - case 9: + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.tmp_1 = helpers_splitMatch__P4345_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = 0; + s.tmp_1.arg2 = s.R___8371; + s.callLocIdx = 11; s.pc = 22; return s.tmp_1; + case 22: r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P43019); + s.z___8385 = (r0); + r0 = (s.z___8385 > -1); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 150; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 923; s.pc = 10; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = s.A___8349; + { step = 21; continue; } + case 9: case 10: - r0 = s.retval; - s.tmp_0 = control_EventContext_registerFrameHandler__P37819_mk(s); - r0 = s.arg0.fields["eventContext"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = 200; - s.tmp_0.arg2 = control___screen_update__P38291; - s.callLocIdx = 924; s.pc = 11; return s.tmp_0; + r0 = pxsim_Array_.setAt(s.A___8349, 0, s.arg0); + r0 = s.A___8349; + { step = 21; continue; } case 11: - r0 = s.retval; - s.tmp_0 = multiplayer_initServer__P40062_mk(s); - s.callLocIdx = 925; s.pc = 12; return s.tmp_0; case 12: - r0 = s.retval; - s.tmp_0 = multiplayer_initPlayerConnectionListeners__P40063_mk(s); - s.callLocIdx = 926; s.pc = 13; return s.tmp_0; + s.q___8399 = (s.p___8370); case 13: + r0 = (s.q___8399 != s.s___8367); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + s.tmp_1 = helpers_splitMatch__P4345_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.q___8399; + s.tmp_1.arg2 = s.R___8371; + s.callLocIdx = 12; s.pc = 23; return s.tmp_1; + case 23: r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P43051); + s.e___8405 = (r0); + r0 = (s.e___8405 < 0); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - s.tmp_1.arg0 = globals.scene_Scene_initializers___39212; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 928; s.pc = 14; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.q___8399 + 1); + s.q___8399 = (r0); + { step = 19; continue; } case 14: + r0 = (s.e___8405 == s.p___8370); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = (s.q___8399 + 1); + s.q___8399 = (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___8370; + s.tmp_0.arg2 = s.q___8399; + s.callLocIdx = 13; s.pc = 24; return s.tmp_0; + case 24: r0 = s.retval; - case 3: - r0 = undefined; + s.T___8398 = (r0); + r0 = pxsim_Array__push(s.A___8349, s.T___8398); + r0 = pxsim_Array__length(s.A___8349); + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.lim___8351); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 16; continue; } + r0 = s.A___8349; + { step = 21; continue; } + case 16: + case 17: + s.p___8370 = (s.e___8405); + s.q___8399 = (s.p___8370); + 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___8370; + s.tmp_0.arg2 = s.q___8399; + s.callLocIdx = 14; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.T___8398 = (r0); + r0 = pxsim_Array__push(s.A___8349, s.T___8398); + r0 = s.A___8349; + case 21: return leave(s, r0) default: oops() } } } -scene_Scene_init__P38447.info = {"start":4432,"length":2572,"line":127,"column":8,"endLine":187,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"init","argumentNames":["this"]} +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 scene_Scene_init__P38447_mk(s) { +function helpers_stringSplit__P122_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init__P38447, depth: s.depth + 1, + 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___8349: undefined, + lim___8351: undefined, + s___8367: undefined, + p___8370: undefined, + R___8371: undefined, + z___8385: undefined, + T___8398: undefined, + q___8399: undefined, + e___8405: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_Scene_init_inline__P42949(s) { +function helpers_splitMatch__P4345(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4421,47 +4334,85 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__P38551_mk(s); - r0 = s.caps[0].fields["eventContext"]; + s.r___8450 = undefined; + s.s___8453 = undefined; + s.i___8463 = 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___8450 = (r0); + r0 = pxsim_String_.length(s.arg0); + s.s___8453 = (r0); + r0 = (s.arg1 + s.r___8450); s.tmp_1 = r0; - r0 = s.tmp_1.fields["deltaTimeMillis"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 / 1000); - s.tmp_0.arg0 = r0; - s.callLocIdx = 909; s.pc = 1; return s.tmp_0; + r0 = (s.tmp_1 > s.s___8453); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = -1; + { step = 7; continue; } case 1: - r0 = s.retval; - r0 = undefined; + case 2: + s.i___8463 = (0); + case 3: + r0 = (s.i___8463 < s.r___8450); + 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___8463); + 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___8463); + 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___8463 + 1); + s.i___8463 = (r0); + { step = 3; continue; } + case 6: + r0 = (s.arg1 + s.r___8450); + case 7: return leave(s, r0) default: oops() } } } -scene_Scene_init_inline__P42949.info = {"start":4722,"length":217,"line":134,"column":72,"endLine":138,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} +helpers_splitMatch__P4345.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 scene_Scene_init_inline__P42949_mk(s) { +function helpers_splitMatch__P4345_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init_inline__P42949, depth: s.depth + 1, + parent: s, fn: helpers_splitMatch__P4345, depth: s.depth + 1, pc: 0, retval: undefined, 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___8450: undefined, + s___8453: undefined, + i___8463: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_Scene_init_inline__P42974(s) { +function helpers_stringSlice__P119(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4471,41 +4422,81 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = PhysicsEngine__C38804_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__C38804_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: + s.len___7378 = 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___7378 = (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___7378 + s.arg1); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 10; s.pc = 9; return s.tmp_1; + case 9: r0 = s.retval; - r0 = undefined; + 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___7378); + { 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___7378 + 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() } } } -scene_Scene_init_inline__P42974.info = {"start":5234,"length":159,"line":143,"column":69,"endLine":146,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} +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 scene_Scene_init_inline__P42974_mk(s) { +function helpers_stringSlice__P119_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init_inline__P42974, depth: s.depth + 1, + 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___7378: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_Scene_init_inline__P42988(s) { +function scene_Scene_render__P2871(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4515,80 +4506,147 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.dt___42989 = undefined; - s.s___42998 = undefined; - s.unnamed270___U2 = undefined; - s.unnamed271___U3 = undefined; - r0 = s.caps[0].fields["eventContext"]; + s.s___8547 = 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__C2842_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4); s.tmp_0 = r0; - r0 = s.tmp_0.fields["deltaTimeMillis"]; + 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 / 1000); - s.dt___42989 = (r0); - s.tmp_0 = scene_Camera_update__P39150_mk(s); - r0 = s.caps[0].fields["camera"]; - s.tmp_0.arg0 = r0; - s.callLocIdx = 915; s.pc = 3; return s.tmp_0; + 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__P2871_mk(s); + r0 = s.arg0.fields["previousScene"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 930; s.pc = 12; return s.tmp_3; + case 12: r0 = s.retval; - s.s___42998 = (undefined); - r0 = s.caps[0].fields["allSprites"]; - s.unnamed270___U2 = (r0); - s.unnamed271___U3 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed271___U3; - r0 = pxsim_Array__length(s.unnamed270___U2); + { step = 6; continue; } + case 5: + s.tmp_0 = scene_Background_draw__P2677_mk(s); + r0 = s.arg0.fields["background"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 931; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + case 6: + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_2 = helpers_arraySort__P105_mk(s); + r0 = s.arg0.fields["allSprites"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = scene_Scene_render_inline__P8524; + s.callLocIdx = 936; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + case 7: + case 8: + s.s___8547 = (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 = 2; continue; } - r0 = pxsim_Array__getAt(s.unnamed270___U2, s.unnamed271___U3); - s.s___42998 = (r0); - s.tmp_2 = if___update_3_mk(s); - s.tmp_2.arg0 = s.s___42998; - r0 = s.caps[0].fields["camera"]; + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__getAt(s.unnamed88___U1, s.unnamed89___U2); + s.s___8547 = (r0); + s.tmp_2 = if___draw_2_mk(s); + s.tmp_2.arg0 = s.s___8547; + r0 = s.arg0.fields["camera"]; s.tmp_2.arg1 = r0; - s.tmp_2.arg2 = s.dt___42989; if (!s.tmp_2.arg0.vtable.iface) { - setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__update"), 3); - s.callLocIdx = 916; s.pc = 4; return s.tmp_2; + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__draw"), 2); + s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__update"]; - if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["__update"], 3); s.callLocIdx = 916; s.pc = 4; return s.tmp_2; } - else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 916; s.pc = 4; return s.tmp_2;; } - else { s.callLocIdx = 916; s.pc = 4; return s.tmp_2; } + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__draw"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["__draw"], 2); s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 937; s.pc = 15; return s.tmp_2;; } + else { s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } } - case 4: + case 15: r0 = s.retval; - r0 = (s.unnamed271___U3 + 1); - s.unnamed271___U3 = (r0); - { step = 1; continue; } - case 2: - s.unnamed270___U2 = (undefined); + 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_init_inline__P42988.info = {"start":5582,"length":214,"line":152,"column":79,"endLine":158,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} +scene_Scene_render__P2871.info = {"start":8203,"length":917,"line":228,"column":8,"endLine":252,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"render","argumentNames":["this"]} -function scene_Scene_init_inline__P42988_mk(s) { +function scene_Scene_render__P2871_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init_inline__P42988, depth: s.depth + 1, + parent: s, fn: scene_Scene_render__P2871, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - dt___42989: undefined, - s___42998: undefined, - unnamed270___U2: undefined, - unnamed271___U3: undefined, + tmp_3: undefined, + tmp_4: undefined, + s___8547: undefined, + unnamed88___U1: undefined, + unnamed89___U2: undefined, + arg0: undefined, } } -function scene_Scene_init_inline__P43011(s) { +function scene_Scene_render_inline__P8524(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4598,30 +4656,104 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_Scene_render__P38452_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.callLocIdx = 918; s.pc = 1; return s.tmp_0; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_2 = if_z_1_mk(s); + s.tmp_2.arg0 = s.arg0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "z"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["z"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["z"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 932; s.pc = 3; return s.tmp_2; } + } + case 3: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = if_z_1_mk(s); + s.tmp_4.arg0 = s.arg1; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "z"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["z"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["z"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 933; s.pc = 4; return s.tmp_4; } + } + case 4: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: + s.tmp_6 = if_id_1_mk(s); + s.tmp_6.arg0 = s.arg0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "id"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["id"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["id"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 934; s.pc = 5; return s.tmp_6; } + } + case 5: r0 = s.retval; - r0 = undefined; + s.tmp_5 = r0; + s.tmp_8 = if_id_1_mk(s); + s.tmp_8.arg0 = s.arg1; + if (!s.tmp_8.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "id"); + } else { + s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["id"]; + if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["id"]; } + else if (!s.tmp_8.fn.isGetter) { s.retval = bind(s.tmp_8); } + else { s.callLocIdx = 935; s.pc = 6; return s.tmp_8; } + } + case 6: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_5 - s.tmp_7); + case 2: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = s.tmp_9; return leave(s, r0) default: oops() } } } -scene_Scene_init_inline__P43011.info = {"start":5937,"length":109,"line":163,"column":76,"endLine":166,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} +scene_Scene_render_inline__P8524.info = {"start":8781,"length":52,"line":242,"column":37,"endLine":242,"endColumn":89,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["a","b"]} -function scene_Scene_init_inline__P43011_mk(s) { +function scene_Scene_render_inline__P8524_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init_inline__P43011, depth: s.depth + 1, + parent: s, fn: scene_Scene_render_inline__P8524, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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_Scene_init_inline__P43019(s) { +function scene_Background_draw__P2677(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4631,108 +4763,62 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = r0 = globals.stats___39310; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Background__C2668_VT)) failedCast(r0); + r0 = s.arg0.fields["color"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.fill(globals.screen___2032, 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___2032, s.tmp_1, 0, 0); case 1: - r0 = globals.control_EventContext_onStats___37826; case 2: - // jmp value (already in r0) - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); + r0 = s.arg0.fields["_layers"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 3; continue; } - s.tmp_2 = lambda_2_mk(s); - s.tmp_2.argL = globals.control_EventContext_onStats___37826; - if ((globals.control_EventContext_lastStats___37825) && (globals.control_EventContext_lastStats___37825).vtable) { - setupResume(s, 8); - pxsim_String__stringConv(globals.control_EventContext_lastStats___37825); - checkResumeConsumed(); - return; - } else { s.retval = (globals.control_EventContext_lastStats___37825) + ""; } - case 8: - r0 = s.retval; - s.tmp_3 = r0; - r0 = s.caps[0].fields["allSprites"]; - s.tmp_8 = r0; - r0 = pxsim_Array__length(s.tmp_8); - s.tmp_7 = r0; - if ((s.tmp_7) && (s.tmp_7).vtable) { - setupResume(s, 9); - pxsim_String__stringConv(s.tmp_7); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_7) + ""; } - case 9: - r0 = s.retval; - s.tmp_6 = r0; - r0 = pxsim_String__concat(" sprites:", s.tmp_6); - s.tmp_5 = r0; - if ((s.tmp_5) && (s.tmp_5).vtable) { - setupResume(s, 10); - pxsim_String__stringConv(s.tmp_5); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_5) + ""; } - case 10: - r0 = s.retval; - s.tmp_4 = r0; - r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); - s.tmp_2.arg0 = r0; - setupLambda(s.tmp_2, s.tmp_2.argL); - s.callLocIdx = 920; s.pc = 7; return s.tmp_2; - case 7: + r0 = pxsim_pxtcore_mkAction(1, scene_Background_draw_inline__P8695); + 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 = 793; s.pc = 5; return s.tmp_2; + case 5: r0 = s.retval; case 3: case 4: - r0 = pxsim_numops_toBoolDecr(globals.debug___39308); - if (!r0) { step = 5; continue; } - s.tmp_0 = PhysicsEngine__C38804_v3_1_mk(s); - r0 = s.caps[0].fields["physicsEngine"]; - s.tmp_0.arg0 = r0; - if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C38804_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__P39750_mk(s); - s.callLocIdx = 921; s.pc = 12; return s.tmp_0; - case 12: - r0 = s.retval; - s.tmp_0 = power_checkDeepSleep__P38237_mk(s); - s.callLocIdx = 922; s.pc = 13; return s.tmp_0; - case 13: - r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Scene_init_inline__P43019.info = {"start":6163,"length":504,"line":168,"column":80,"endLine":180,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} +scene_Background_draw__P2677.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_Scene_init_inline__P43019_mk(s) { +function scene_Background_draw__P2677_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init_inline__P43019, depth: s.depth + 1, + parent: s, fn: scene_Background_draw__P2677, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 scene_Scene_init_inline__P43051(s) { +function scene_Background_draw_inline__P8695(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4742,29 +4828,58 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.ox___8697 = undefined; + s.oy___8708 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = lambda_2_mk(s); - s.tmp_0.argL = s.arg0; - s.tmp_0.arg0 = s.caps[0]; - setupLambda(s.tmp_0, s.tmp_0.argL); - s.callLocIdx = 927; s.pc = 1; return s.tmp_0; + 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___8697 = (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___8708 = (r0); + s.tmp_0 = scene_BackgroundLayer_draw__P2686_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.ox___8697; + s.tmp_0.arg2 = s.oy___8708; + s.callLocIdx = 792; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Scene_init_inline__P43051.info = {"start":6980,"length":12,"line":186,"column":39,"endLine":186,"endColumn":51,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["f"]} +scene_Background_draw_inline__P8695.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_Scene_init_inline__P43051_mk(s) { +function scene_Background_draw_inline__P8695_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_init_inline__P43051, depth: s.depth + 1, + parent: s, fn: scene_Background_draw_inline__P8695, depth: s.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___8697: undefined, + oy___8708: undefined, arg0: undefined, } } @@ -4772,7 +4887,7 @@ function scene_Scene_init_inline__P43051_mk(s) { -function multiplayer_initPlayerConnectionListeners__P40063(s) { +function scene_BackgroundLayer_draw__P2686(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4782,43 +4897,251 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.p___43071 = undefined; - s.p___43071 = (1); + s.w___8726 = undefined; + s.h___8729 = undefined; + s.pw___8732 = undefined; + s.ph___8736 = undefined; + s.rx___8745 = undefined; + s.ry___8748 = undefined; + s.y___8817 = undefined; + s.py___8818 = undefined; + s.dh___8827 = undefined; + s.x___8835 = undefined; + s.rxl___8836 = undefined; + s.px___8842 = undefined; + s.dw___8846 = 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__C2678_VT)) failedCast(r0); + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.w___8726 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.h___8729 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_0); + s.pw___8732 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_0); + s.ph___8736 = (r0); + r0 = pxsim_numops_toBoolDecr(s.pw___8732); + 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.p___43071 <= 4); + r0 = pxsim_numops_toBoolDecr(s.ph___8736); + 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___8745 = (r0); + r0 = (0 - s.arg2); + s.ry___8748 = (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___8745; + r0 = (s.w___8726 + s.pw___8732); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.rx___8745 = (r0); + { step = 7; continue; } + case 6: + s.tmp_0 = r0 = s.rx___8745; + r0 = (s.w___8726 + s.pw___8732); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.rx___8745 = (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___8748; + r0 = (s.h___8729 + s.ph___8736); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.ry___8748 = (r0); + { step = 10; continue; } + case 9: + s.tmp_0 = r0 = s.ry___8748; + r0 = (s.h___8729 + s.ph___8736); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.ry___8748 = (r0); + case 10: + r0 = (s.rx___8745 % s.w___8726); + s.rx___8745 = (r0); + r0 = (s.rx___8745 < 0); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_1 = multiplayer_registerPlayerConnectionListeners__P40064_mk(s); - s.tmp_1.arg0 = s.p___43071; - s.callLocIdx = 1278; s.pc = 3; return s.tmp_1; - case 3: + if (!r0) { step = 11; continue; } + r0 = (s.rx___8745 + s.w___8726); + s.rx___8745 = (r0); + case 11: + case 12: + r0 = (s.ry___8748 % s.h___8729); + s.ry___8748 = (r0); + r0 = (s.ry___8748 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (s.ry___8748 + s.h___8729); + s.ry___8748 = (r0); + case 13: + case 14: + r0 = pxsim.Math_.floor(s.rx___8745); + s.rx___8745 = (r0); + r0 = pxsim.Math_.floor(s.ry___8748); + s.ry___8748 = (r0); + s.y___8817 = (0); + s.py___8818 = (0); + case 15: + r0 = (s.y___8817 < s.h___8729); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = (s.y___8817 % s.ph___8736); + s.py___8818 = (r0); + s.tmp_0 = Math_min__P131_mk(s); + r0 = (s.ph___8736 - s.py___8818); + s.tmp_0.arg0 = r0; + r0 = (s.h___8729 - s.ry___8748); + s.tmp_0.arg1 = r0; + s.callLocIdx = 795; s.pc = 24; return s.tmp_0; + case 24: r0 = s.retval; - r0 = (s.p___43071 + 1); - s.p___43071 = (r0); - { step = 1; continue; } - case 2: + s.dh___8827 = (r0); + s.x___8835 = (0); + s.rxl___8836 = (s.rx___8745); + case 16: + r0 = (s.x___8835 < s.w___8726); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 19; continue; } + r0 = (s.x___8835 % s.pw___8732); + s.px___8842 = (r0); + s.tmp_0 = Math_min__P131_mk(s); + r0 = (s.pw___8732 - s.px___8842); + s.tmp_0.arg0 = r0; + r0 = (s.w___8726 - s.rxl___8836); + s.tmp_0.arg1 = r0; + s.callLocIdx = 796; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.dw___8846 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.drawImage(globals.screen___2032, s.tmp_0, s.rxl___8836, s.ry___8748); + r0 = (s.rxl___8836 + s.dw___8846); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.w___8726); + s.rxl___8836 = (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___8846; + { step = 18; continue; } + case 17: + r0 = s.w___8726; + case 18: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.x___8835 + s.tmp_1); + s.x___8835 = (r0); + { step = 16; continue; } + case 19: + r0 = (s.ry___8748 + s.dh___8827); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.h___8729); + s.ry___8748 = (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___8827; + { step = 21; continue; } + case 20: + r0 = s.h___8729; + case 21: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.y___8817 + s.tmp_1); + s.y___8817 = (r0); + { step = 15; continue; } + case 22: + case 23: r0 = undefined; return leave(s, r0) default: oops() } } } -multiplayer_initPlayerConnectionListeners__P40063.info = {"start":1324,"length":154,"line":39,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"initPlayerConnectionListeners","argumentNames":[]} +scene_BackgroundLayer_draw__P2686.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 multiplayer_initPlayerConnectionListeners__P40063_mk(s) { +function scene_BackgroundLayer_draw__P2686_mk(s) { checkStack(s.depth); return { - parent: s, fn: multiplayer_initPlayerConnectionListeners__P40063, depth: s.depth + 1, + parent: s, fn: scene_BackgroundLayer_draw__P2686, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - p___43071: undefined, + tmp_2: undefined, + tmp_3: undefined, + w___8726: undefined, + h___8729: undefined, + pw___8732: undefined, + ph___8736: undefined, + rx___8745: undefined, + ry___8748: undefined, + y___8817: undefined, + py___8818: undefined, + dh___8827: undefined, + x___8835: undefined, + rxl___8836: undefined, + px___8842: undefined, + dw___8846: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function multiplayer_registerPlayerConnectionListeners__P40064(s) { +function helpers_arraySort__P105(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4830,119 +5153,58 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_pxtcore_mkAction(1, multiplayer_registerPlayerConnectionListeners_inline__P43083); + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_onEvent__P37806_mk(s); - s.tmp_1.arg0 = 3241; - s.tmp_1.arg1 = s.arg0; - s.tmp_1.arg2 = s.tmp_0; - s.tmp_1.arg3 = 16; - s.callLocIdx = 1280; s.pc = 1; return s.tmp_1; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, multiplayer_registerPlayerConnectionListeners_inline__P43089); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = control_onEvent__P37806_mk(s); - s.tmp_1.arg0 = 3242; - s.tmp_1.arg1 = s.arg0; - s.tmp_1.arg2 = s.tmp_0; - s.tmp_1.arg3 = 16; - s.callLocIdx = 1282; s.pc = 2; return s.tmp_1; + 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__P8569); + case 3: + case 4: + s.tmp_0 = helpers_sortHelper__P4343_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; - r0 = undefined; return leave(s, r0) default: oops() } } } -multiplayer_registerPlayerConnectionListeners__P40064.info = {"start":1484,"length":415,"line":45,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"registerPlayerConnectionListeners","argumentNames":["playerNumber"]} +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 multiplayer_registerPlayerConnectionListeners__P40064_mk(s) { +function helpers_arraySort__P105_mk(s) { checkStack(s.depth); return { - parent: s, fn: multiplayer_registerPlayerConnectionListeners__P40064, depth: s.depth + 1, + 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 multiplayer_registerPlayerConnectionListeners_inline__P43083(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; -switch (step) { - case 0: - - s.tmp_0 = multiplayer_receiveConnectionChangedEvent__P40065_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = true; - s.callLocIdx = 1279; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -multiplayer_registerPlayerConnectionListeners_inline__P43083.info = {"start":1656,"length":55,"line":49,"column":12,"endLine":49,"endColumn":67,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} - -function multiplayer_registerPlayerConnectionListeners_inline__P43083_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: multiplayer_registerPlayerConnectionListeners_inline__P43083, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, -} } - - - - - -function multiplayer_registerPlayerConnectionListeners_inline__P43089(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; -switch (step) { - case 0: - - s.tmp_0 = multiplayer_receiveConnectionChangedEvent__P40065_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = false; - s.callLocIdx = 1281; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -multiplayer_registerPlayerConnectionListeners_inline__P43089.info = {"start":1826,"length":56,"line":54,"column":12,"endLine":54,"endColumn":68,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} - -function multiplayer_registerPlayerConnectionListeners_inline__P43089_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: multiplayer_registerPlayerConnectionListeners_inline__P43089, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, -} } - - - - - -function multiplayer_receiveConnectionChangedEvent__P40065(s) { +function helpers_arraySort_inline__P8569(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -4952,58 +5214,133 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.c___43094 = undefined; + s.aIsUndef___8572 = undefined; + s.bIsUndef___8576 = undefined; + s.aIsNull___8587 = undefined; + s.bIsNull___8591 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + r0 = (s.arg0 === undefined); + s.aIsUndef___8572 = (r0); + r0 = (s.arg1 === undefined); + s.bIsUndef___8576 = (r0); + s.tmp_0 = r0 = s.aIsUndef___8572; + r0 = pxsim_numops_toBool(s.tmp_0); if (r0) { step = 1; continue; } - r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); - if (r0) { step = 2; continue; } - r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); - if (r0) { step = 3; continue; } - r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); - if (r0) { step = 4; continue; } r0 = s.tmp_0; - { step = 5; continue; } + { step = 2; continue; } case 1: - s.c___43094 = (globals.player1___38437); - { step = 5; continue; } + r0 = s.bIsUndef___8576; case 2: - s.c___43094 = (globals.player2___38431); - { step = 5; continue; } + // 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: - s.c___43094 = (globals.player3___38433); - { step = 5; continue; } + r0 = pxsim_numops_toBoolDecr(s.aIsUndef___8572); + if (!r0) { step = 4; continue; } + r0 = 1; + { step = 17; continue; } + { step = 7; continue; } case 4: - s.c___43094 = (globals.player4___38435); + r0 = pxsim_numops_toBoolDecr(s.bIsUndef___8576); + if (!r0) { step = 5; continue; } + r0 = -1; + { step = 17; continue; } case 5: - r0 = pxsim_numops_toBoolDecr(s.c___43094); - if (!r0) { step = 6; continue; } - s.tmp_0 = controller_Controller_connected__P38541_mk(s); - s.tmp_0.arg0 = s.c___43094; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1283; s.pc = 8; return s.tmp_0; - case 8: - r0 = s.retval; case 6: case 7: - r0 = undefined; + case 8: + r0 = (s.arg0 === null); + s.aIsNull___8587 = (r0); + r0 = (s.arg1 === null); + s.bIsNull___8591 = (r0); + s.tmp_0 = r0 = s.aIsNull___8587; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 9; continue; } + r0 = s.tmp_0; + { step = 10; continue; } + case 9: + r0 = s.bIsNull___8591; + 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___8587); + if (!r0) { step = 12; continue; } + r0 = 1; + { step = 17; continue; } + { step = 15; continue; } + case 12: + r0 = pxsim_numops_toBoolDecr(s.bIsNull___8591); + 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() } } } -multiplayer_receiveConnectionChangedEvent__P40065.info = {"start":1905,"length":552,"line":58,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"receiveConnectionChangedEvent","argumentNames":["playerNumber","connected"]} +helpers_arraySort_inline__P8569.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 multiplayer_receiveConnectionChangedEvent__P40065_mk(s) { +function helpers_arraySort_inline__P8569_mk(s) { checkStack(s.depth); return { - parent: s, fn: multiplayer_receiveConnectionChangedEvent__P40065, depth: s.depth + 1, + parent: s, fn: helpers_arraySort_inline__P8569, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - c___43094: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + aIsUndef___8572: undefined, + bIsUndef___8576: undefined, + aIsNull___8587: undefined, + bIsNull___8591: undefined, arg0: undefined, arg1: undefined, } } @@ -5012,7 +5349,7 @@ function multiplayer_receiveConnectionChangedEvent__P40065_mk(s) { -function controller_Controller_connected__P38541(s) { +function helpers_sortHelper__P4343(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5022,50 +5359,105 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.len___8626 = undefined; + s.i___8629 = undefined; + s.j___8635 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["_connected"]; + r0 = pxsim_Array__length(s.arg0); 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"]; + r0 = (s.tmp_1 <= 0); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = 1; + r0 = s.tmp_0; { step = 2; continue; } case 1: - r0 = 2; + 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_1 = r0; - r0 = s.arg0.fields["_id"]; - s.tmp_2 = r0; - r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1); + 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 = undefined; + r0 = pxsim_Array__length(s.arg0); + s.len___8626 = (r0); + s.i___8629 = (0); + case 5: + s.tmp_1 = r0 = s.i___8629; + r0 = (s.len___8626 - 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___8629 + 1); + s.j___8635 = (r0); + case 6: + r0 = (s.j___8635 < s.len___8626); + 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___8629); + s.tmp_3.arg0 = r0; + r0 = pxsim_Array__getAt(s.arg0, s.j___8635); + 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__P4342_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.i___8629; + s.tmp_4.arg2 = s.j___8635; + s.callLocIdx = 2; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + case 7: + case 8: + r0 = (s.j___8635 + 1); + s.j___8635 = (r0); + { step = 6; continue; } + case 9: + r0 = (s.i___8629 + 1); + s.i___8629 = (r0); + { step = 5; continue; } + case 10: + r0 = s.arg0; + case 11: return leave(s, r0) default: oops() } } } -controller_Controller_connected__P38541.info = {"start":7796,"length":261,"line":254,"column":8,"endLine":259,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this","value"]} +helpers_sortHelper__P4343.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 controller_Controller_connected__P38541_mk(s) { +function helpers_sortHelper__P4343_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_connected__P38541, depth: s.depth + 1, + parent: s, fn: helpers_sortHelper__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, + len___8626: undefined, + i___8629: undefined, + j___8635: undefined, arg0: undefined, arg1: undefined, } } @@ -5074,7 +5466,7 @@ function controller_Controller_connected__P38541_mk(s) { -function controller__player1__P38519(s) { +function helpers_swap__P4342(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5084,71 +5476,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals._players___38438); - 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___38438, 0); - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.temp___8664 = 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___8664 = (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_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__C38524_VT); - s.tmp_5 = r0; - r0 = pxsim_Array__mk(); - s.tmp_6 = r0; - r0 = pxsim_Array__push(s.tmp_6, globals.left___38421); - r0 = pxsim_Array__push(s.tmp_6, globals.up___38423); - r0 = pxsim_Array__push(s.tmp_6, globals.right___38425); - r0 = pxsim_Array__push(s.tmp_6, globals.down___38427); - r0 = pxsim_Array__push(s.tmp_6, globals.A___38417); - r0 = pxsim_Array__push(s.tmp_6, globals.B___38419); - r0 = pxsim_Array__push(s.tmp_6, globals.menu___38429); - s.tmp_7 = controller_Controller_constructor__P38550_mk(s); - s.tmp_7.arg0 = s.tmp_5; - s.tmp_7.arg1 = 1; - s.tmp_7.arg2 = s.tmp_6; - s.callLocIdx = 152; s.pc = 5; return s.tmp_7; - case 5: - r0 = s.retval; - case 3: - case 4: - r0 = pxsim_Array__getAt(globals._players___38438, 0); + r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2); + r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___8664); + r0 = undefined; return leave(s, r0) default: oops() } } } -controller__player1__P38519.info = {"start":1381,"length":258,"line":47,"column":4,"endLine":51,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_player1","argumentNames":[]} +helpers_swap__P4342.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 controller__player1__P38519_mk(s) { +function helpers_swap__P4342_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller__player1__P38519, depth: s.depth + 1, + parent: s, fn: helpers_swap__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, + temp___8664: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function controller_Controller_constructor__P38550(s) { +function scene_Camera_update__P2797(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5158,120 +5525,187 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.leftId___43153 = undefined; - s.i___43161 = undefined; - s.i___43179 = undefined; + s.elapsed___8933 = undefined; + s.percentComplete___8947 = undefined; + s.damp___8954 = undefined; + s.f___8963 = undefined; + s.x___8969 = undefined; + s.y___8976 = 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__C38524_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 (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + r0 = s.arg0.fields["sprite"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = (s.arg0).fields["buttons"] = (s.arg2); - { step = 4; continue; } + s.tmp_1 = r0 = s.arg0; + s.tmp_3 = Sprite_x__P2353_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 891; s.pc = 9; return s.tmp_3; + case 9: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_lastUpdatedSpriteX"] = (s.tmp_2); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Sprite_y__P2355_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 892; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_lastUpdatedSpriteY"] = (s.tmp_1); + s.tmp_0 = scene_Camera_offsetX__P2786_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_x__P2353_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 893; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg1 = r0; + s.callLocIdx = 894; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = scene_Camera_offsetY__P2788_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_y__P2355_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 895; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg1 = r0; + s.callLocIdx = 896; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; case 1: + case 2: s.tmp_0 = r0 = s.arg0; - r0 = pxsim_Array__mk(); + r0 = s.arg0.fields["_offsetX"]; 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); + 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_1 * 7); + 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 = (1 + s.tmp_0); - s.leftId___43153 = (r0); - s.i___43161 = (0); - case 2: - r0 = (s.i___43161 < 7); + 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___8933 = (r0); + r0 = s.arg0.fields["shakeDuration"]; + s.tmp_1 = r0; + r0 = (s.elapsed___8933 >= s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 3; continue; } - r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C38558_VT); - s.tmp_1 = r0; - s.tmp_2 = controller_Button_constructor__P38578_mk(s); - s.tmp_2.arg0 = s.tmp_1; - r0 = (s.leftId___43153 + s.i___43161); - s.tmp_2.arg1 = r0; - s.tmp_2.arg2 = -1; - s.callLocIdx = 158; 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___43161 + 1); - s.i___43161 = (r0); - { step = 2; continue; } + r0 = (s.arg0).fields["shakeStartTime"] = (undefined); + { step = 6; continue; } case 3: + r0 = s.arg0.fields["shakeDuration"]; + s.tmp_0 = r0; + r0 = (s.elapsed___8933 / s.tmp_0); + s.percentComplete___8947 = (r0); + s.damp___8954 = (1); + r0 = (s.percentComplete___8947 >= 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___8947); + s.tmp_1.arg1 = r0; + s.callLocIdx = 899; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.damp___8954 = (r0); case 4: - s.i___43179 = (0); case 5: - s.tmp_1 = r0 = s.i___43179; - 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); + r0 = s.arg0.fields["shakeAmplitude"]; 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___43179); - s.tmp_4 = r0; - r0 = (s.tmp_4).fields["_owner"] = (s.arg0); - r0 = (s.i___43179 + 1); - s.i___43179 = (r0); - { step = 5; continue; } + r0 = (s.tmp_0 * s.damp___8954); + s.f___8963 = (r0); + r0 = pxsim.Math_.random(); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.f___8963); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 0); + s.x___8969 = (r0); + r0 = pxsim.Math_.random(); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.f___8963); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 0); + s.y___8976 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["drawOffsetX"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.x___8969); + 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___8976); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["drawOffsetY"] = (s.tmp_1); case 6: - s.tmp_0 = controller_addController__P38518_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 159; s.pc = 8; return s.tmp_0; + case 7: case 8: - r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Controller_constructor__P38550.info = {"start":2452,"length":696,"line":82,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","playerIndex","buttons"]} +scene_Camera_update__P2797.info = {"start":2563,"length":1418,"line":83,"column":8,"endLine":116,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"update","argumentNames":["this"]} -function controller_Controller_constructor__P38550_mk(s) { +function scene_Camera_update__P2797_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_constructor__P38550, depth: s.depth + 1, + parent: s, fn: scene_Camera_update__P2797, depth: s.depth + 1, pc: 0, retval: undefined, 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___43153: undefined, - i___43161: undefined, - i___43179: undefined, + elapsed___8933: undefined, + percentComplete___8947: undefined, + damp___8954: undefined, + f___8963: undefined, + x___8969: undefined, + y___8976: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function controller_addController__P38518(s) { +function scene_Camera_offsetY__P2788(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5281,48 +5715,93 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.scene___8995 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(globals._players___38438); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 882; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.scene___8995 = (r0); + r0 = s.scene___8995.fields["tileMap"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = pxsim_Array__mk(); - globals._players___38438 = (r0); + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: - case 2: - s.tmp_0 = r0 = globals._players___38438; - r0 = s.arg0.fields["playerIndex"]; + r0 = s.scene___8995.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 = (s.tmp_2 - 1); + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 3; continue; } + s.tmp_7 = r0 = s.arg0; + s.tmp_10 = tiles_TileMap_offsetY__P2741_mk(s); + r0 = s.scene___8995.fields["tileMap"]; + s.tmp_10.arg0 = r0; + s.tmp_10.arg1 = s.arg1; + s.callLocIdx = 884; s.pc = 6; return s.tmp_10; + case 6: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim.Math_.floor(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["_offsetY"] = (s.tmp_8); + { step = 4; continue; } + case 3: + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.Math_.floor(s.arg1); s.tmp_1 = r0; - r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0); + r0 = (s.tmp_0).fields["_offsetY"] = (s.tmp_1); + case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -controller_addController__P38518.info = {"start":1218,"length":157,"line":40,"column":4,"endLine":45,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"addController","argumentNames":["ctrl"]} +scene_Camera_offsetY__P2788.info = {"start":1152,"length":291,"line":39,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this","v"]} -function controller_addController__P38518_mk(s) { +function scene_Camera_offsetY__P2788_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_addController__P38518, depth: s.depth + 1, + parent: s, fn: scene_Camera_offsetY__P2788, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + scene___8995: undefined, arg0: undefined, + arg1: undefined, } } -function control_onEvent__P37806(s) { +function tiles_TileMap_enabled__P2746(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5332,63 +5811,44 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ctx___43266 = 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__P37829_mk(s); - s.callLocIdx = 40; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.ctx___43266 = (r0); - r0 = pxsim_numops_toBoolDecr(s.ctx___43266); + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C2734_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_Boolean__bang(s.tmp_1); + r0 = pxsim_numops_toBoolDecr(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__P37821_mk(s); - s.tmp_0.arg0 = s.ctx___43266; - 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 = 41; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - case 2: - r0 = undefined; - return leave(s, r0) + r0 = pxsim_Boolean__bang(s.tmp_0); + return leaveAccessor(s, r0) default: oops() } } } -control_onEvent__P37806.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"]} +tiles_TileMap_enabled__P2746.info = {"start":10177,"length":66,"line":351,"column":8,"endLine":353,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"enabled","argumentNames":["this"]} +tiles_TileMap_enabled__P2746.isGetter = true; -function control_onEvent__P37806_mk(s) { +function tiles_TileMap_enabled__P2746_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_onEvent__P37806, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_enabled__P2746, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - ctx___43266: undefined, + tmp_2: undefined, + tmp_3: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function control_eventContext__P37829(s) { +function tiles_TileMap_offsetY__P2741(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5398,42 +5858,59 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.eventContexts___37828); - if (!r0) { step = 1; continue; } - s.tmp_0 = r0 = globals.eventContexts___37828; - r0 = pxsim_Array__length(globals.eventContexts___37828); + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C2734_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__P2743_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 821; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; s.tmp_2 = r0; - r0 = (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; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 822; s.pc = 2; return s.tmp_1; case 2: - // jmp value (already in r0) - s.tmp_3 = r0; - r0 = s.tmp_3; + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 823; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; return leave(s, r0) default: oops() } } } -control_eventContext__P37829.info = {"start":7094,"length":136,"line":213,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"eventContext","argumentNames":[]} +tiles_TileMap_offsetY__P2741.info = {"start":9630,"length":123,"line":329,"column":8,"endLine":331,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetY","argumentNames":["this","value"]} -function control_eventContext__P37829_mk(s) { +function tiles_TileMap_offsetY__P2741_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_eventContext__P37829, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_offsetY__P2741, depth: s.depth + 1, pc: 0, retval: 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 control_EventContext_registerHandler__P37821(s) { +function tiles_TileMap_areaHeight__P2743(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5443,113 +5920,53 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.h___43289 = undefined; - s.unnamed244___U1 = undefined; - s.unnamed245___U2 = undefined; - s.hn___43312 = 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__C37813_VT)) failedCast(r0); - s.h___43289 = (undefined); - r0 = s.arg0.fields["handlers"]; - s.unnamed244___U1 = (r0); - s.unnamed245___U2 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed245___U2; - r0 = pxsim_Array__length(s.unnamed244___U1); + if (!checkSubtype(r0, tiles_TileMap__C2734_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.tmp_0 < s.tmp_1); - if (!r0) { step = 6; continue; } - r0 = pxsim_Array__getAt(s.unnamed244___U1, s.unnamed245___U2); - s.h___43289 = (r0); - r0 = s.h___43289.fields["src"]; + r0 = s.arg0.fields["_scale"]; 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; } + r0 = (s.tmp_1 << s.tmp_3); + { step = 2; continue; } + case 1: + r0 = 0; case 2: - r0 = s.h___43289.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___43289).fields["flags"] = (s.arg4); - r0 = (s.h___43289).fields["handler"] = (s.arg3); - { step = 7; continue; } - case 4: - case 5: - r0 = (s.unnamed245___U2 + 1); - s.unnamed245___U2 = (r0); - { step = 1; continue; } - case 6: - s.unnamed244___U1 = (undefined); - r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C37808_VT); - s.tmp_0 = r0; - s.tmp_1 = control_EventHandler_constructor__P37811_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 = 52; s.pc = 8; return s.tmp_1; - case 8: - r0 = s.retval; - s.hn___43312 = (s.tmp_0); - r0 = s.arg0.fields["handlers"]; - s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.hn___43312); - s.tmp_0 = control_EventHandler_register__P37809_mk(s); - s.tmp_0.arg0 = s.hn___43312; - s.callLocIdx = 53; s.pc = 9; return s.tmp_0; - case 9: - r0 = s.retval; - case 7: - r0 = undefined; + s.tmp_4 = r0; + r0 = s.tmp_4; return leave(s, r0) default: oops() } } } -control_EventContext_registerHandler__P37821.info = {"start":5760,"length":525,"line":173,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerHandler","argumentNames":["this","src","value","handler","flags"]} +tiles_TileMap_areaHeight__P2743.info = {"start":9864,"length":93,"line":337,"column":8,"endLine":339,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaHeight","argumentNames":["this"]} -function control_EventContext_registerHandler__P37821_mk(s) { +function tiles_TileMap_areaHeight__P2743_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_registerHandler__P37821, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_areaHeight__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, - h___43289: undefined, - unnamed244___U1: undefined, - unnamed245___U2: undefined, - hn___43312: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, } } -function control_EventHandler_constructor__P37811(s) { +function tiles_TileMap_scale__P2737(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5561,41 +5978,30 @@ switch (step) { 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__C37808_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) + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + return leaveAccessor(s, r0) default: oops() } } } -control_EventHandler_constructor__P37811.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"]} +tiles_TileMap_scale__P2737.info = {"start":9205,"length":55,"line":310,"column":8,"endLine":312,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} +tiles_TileMap_scale__P2737.isGetter = true; -function control_EventHandler_constructor__P37811_mk(s) { +function tiles_TileMap_scale__P2737_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventHandler_constructor__P37811, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_scale__P2737, 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__P37809(s) { +function tiles_TileMapData_height__P2719(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5610,32 +6016,19 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, control_EventHandler__C37808_VT)) failedCast(r0); - r0 = pxsim_pxtcore_mkAction(1, control_EventHandler_register_inline__P43333); - 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) + if (!checkSubtype(r0, tiles_TileMapData__C2716_VT)) failedCast(r0); + r0 = s.arg0.fields["_height"]; + return leaveAccessor(s, r0) default: oops() } } } -control_EventHandler_register__P37809.info = {"start":961,"length":165,"line":30,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} +tiles_TileMapData_height__P2719.info = {"start":6489,"length":65,"line":218,"column":8,"endLine":220,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"height","argumentNames":["this"]} +tiles_TileMapData_height__P2719.isGetter = true; -function control_EventHandler_register__P37809_mk(s) { +function tiles_TileMapData_height__P2719_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventHandler_register__P37809, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_height__P2719, depth: s.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, } } @@ -5643,7 +6036,7 @@ function control_EventHandler_register__P37809_mk(s) { -function control_EventHandler_register_inline__P43333(s) { +function scene_Camera_offsetY__P2787(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5653,45 +6046,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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 = 42; 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 = 42; s.pc = 3; return s.tmp_1; } - else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 42; s.pc = 3; return s.tmp_1;; } - else { s.callLocIdx = 42; s.pc = 3; return s.tmp_1; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; } - case 3: - r0 = s.retval; - case 1: - case 2: - r0 = undefined; - return leave(s, r0) + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetY"]; + return leaveAccessor(s, r0) default: oops() } } } -control_EventHandler_register_inline__P43333.info = {"start":1032,"length":71,"line":31,"column":58,"endLine":33,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} +scene_Camera_offsetY__P2787.info = {"start":1084,"length":59,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this"]} +scene_Camera_offsetY__P2787.isGetter = true; -function control_EventHandler_register_inline__P43333_mk(s) { +function scene_Camera_offsetY__P2787_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventHandler_register_inline__P43333, depth: s.depth + 1, + parent: s, fn: scene_Camera_offsetY__P2787, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, + arg0: undefined, } } -function multiplayer_initServer__P40062(s) { +function scene_Camera_offsetX__P2786(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5701,47 +6081,93 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim.multiplayer.getOrigin(); - s.tmp_1 = r0; - r0 = (s.tmp_1 === "server"); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_2 = control_EventContext_registerFrameHandler__P37819_mk(s); - s.tmp_3 = game_eventContext__P39341_mk(s); - s.callLocIdx = 1276; s.pc = 4; return s.tmp_3; - case 4: - r0 = s.retval; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = 210; - s.tmp_2.arg2 = multiplayer_initServer_inline__P43352; - s.callLocIdx = 1277; s.pc = 3; return s.tmp_2; - case 3: + s.scene___9055 = 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__C2780_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 879; s.pc = 5; return s.tmp_0; + case 5: r0 = s.retval; + s.scene___9055 = (r0); + r0 = s.scene___9055.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___9055.fields["tileMap"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_map"]; + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 3; continue; } + s.tmp_7 = r0 = s.arg0; + s.tmp_10 = tiles_TileMap_offsetX__P2740_mk(s); + r0 = s.scene___9055.fields["tileMap"]; + s.tmp_10.arg0 = r0; + s.tmp_10.arg1 = s.arg1; + s.callLocIdx = 881; s.pc = 6; return s.tmp_10; + case 6: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim.Math_.floor(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["_offsetX"] = (s.tmp_8); + { step = 4; continue; } + case 3: + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.Math_.floor(s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_offsetX"] = (s.tmp_1); + case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -multiplayer_initServer__P40062.info = {"start":1011,"length":307,"line":29,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"initServer","argumentNames":[]} +scene_Camera_offsetX__P2786.info = {"start":784,"length":291,"line":28,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this","v"]} -function multiplayer_initServer__P40062_mk(s) { +function scene_Camera_offsetX__P2786_mk(s) { checkStack(s.depth); return { - parent: s, fn: multiplayer_initServer__P40062, depth: s.depth + 1, + parent: s, fn: scene_Camera_offsetX__P2786, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + scene___9055: undefined, + arg0: undefined, + arg1: undefined, } } -function multiplayer_initServer_inline__P43352(s) { +function tiles_TileMap_offsetX__P2740(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5751,35 +6177,59 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim.multiplayer.getOrigin(); - s.tmp_1 = r0; - r0 = (s.tmp_1 === "server"); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = pxsim.multiplayer.postImage(globals.screen___38324); - case 1: + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C2734_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__P2742_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 818; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 819; s.pc = 2; return s.tmp_1; case 2: - r0 = undefined; + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 820; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; return leave(s, r0) default: oops() } } } -multiplayer_initServer_inline__P43352.info = {"start":1175,"length":126,"line":31,"column":93,"endLine":35,"endColumn":13,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} +tiles_TileMap_offsetX__P2740.info = {"start":9499,"length":121,"line":325,"column":8,"endLine":327,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetX","argumentNames":["this","value"]} -function multiplayer_initServer_inline__P43352_mk(s) { +function tiles_TileMap_offsetX__P2740_mk(s) { checkStack(s.depth); return { - parent: s, fn: multiplayer_initServer_inline__P43352, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_offsetX__P2740, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, } } -function game_consoleOverlay_draw__P39750(s) { +function tiles_TileMap_areaWidth__P2742(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -5789,216 +6239,53 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.height___43406 = undefined; - s.top___43411 = undefined; - s.i___43417 = undefined; - s.t___43431 = undefined; - s.tOff___43439 = undefined; - s.tab___43441 = undefined; - s.unnamed274___U6 = undefined; - s.unnamed275___U7 = undefined; - s.padding___43443 = undefined; - r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___39710); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = s.tmp_0; + 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 = pxsim_numops_toBoolDecr(globals.instance___39630); - 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___39718; - if (!s.tmp_7.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); - } else { - s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"]; - if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; } - else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } - else { s.callLocIdx = 1130; s.pc = 14; return s.tmp_7; } - } - case 14: - r0 = s.retval; - s.tmp_6 = r0; - r0 = (s.tmp_6 + 2); - s.height___43406 = (r0); - r0 = pxsim_numops_toBoolDecr(globals.stats___39310); - if (!r0) { step = 5; continue; } - r0 = s.height___43406; - { step = 6; continue; } - case 5: r0 = 0; - case 6: + case 2: // jmp value (already in r0) - s.tmp_0 = r0; - r0 = (2 + s.tmp_0); - s.top___43411 = (r0); - s.i___43417 = (0); - case 7: - s.tmp_1 = r0 = s.i___43417; - r0 = pxsim_Array__length(globals.consoleStrings___39710); - 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___39710, s.i___43417); - 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__P37588_mk(s); - r0 = pxsim_Array__getAt(globals.consoleStrings___39710, s.i___43417); - s.tmp_6.arg0 = r0; - s.tmp_6.arg1 = "\t"; - s.tmp_6.arg2 = undefined; - s.callLocIdx = 1131; s.pc = 15; return s.tmp_6; - case 15: - r0 = s.retval; - s.t___43431 = (r0); - s.tOff___43439 = (0); - s.tab___43441 = (undefined); - s.unnamed274___U6 = (s.t___43431); - s.unnamed275___U7 = (0); - case 8: - s.tmp_0 = r0 = s.unnamed275___U7; - r0 = pxsim_Array__length(s.unnamed274___U6); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 9; continue; } - r0 = pxsim_Array__getAt(s.unnamed274___U6, s.unnamed275___U7); - s.tab___43441 = (r0); - s.tmp_2 = r0 = globals.tabSize___39712; - s.tmp_5 = r0 = s.tOff___43439; - r0 = pxsim_String_.length(s.tab___43441); - s.tmp_6 = r0; - r0 = (s.tmp_5 + s.tmp_6); s.tmp_4 = r0; - r0 = (s.tmp_4 % globals.tabSize___39712); - s.tmp_3 = r0; - r0 = (s.tmp_2 - s.tmp_3); - s.padding___43443 = (r0); - s.tmp_0 = helpers_imagePrint__P38287_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_0.arg1 = s.tab___43441; - s.tmp_2 = r0 = s.tOff___43439; - s.tmp_4 = if_charWidth_1_mk(s); - s.tmp_4.arg0 = globals.consoleFont___39718; - if (!s.tmp_4.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); - } else { - s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"]; - if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; } - else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } - else { s.callLocIdx = 1132; s.pc = 17; return s.tmp_4; } - } - case 17: - r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_2 * s.tmp_3); - s.tmp_1 = r0; - r0 = (4 + s.tmp_1); - s.tmp_0.arg2 = r0; - s.tmp_5 = r0 = s.top___43411; - r0 = (s.i___43417 * s.height___43406); - s.tmp_6 = r0; - r0 = (s.tmp_5 + s.tmp_6); - s.tmp_0.arg3 = r0; - s.tmp_0.arg4 = globals.consoleColor___39709; - s.tmp_0.arg5 = globals.consoleFont___39718; - s.tmp_0.arg6 = undefined; - s.callLocIdx = 1133; s.pc = 16; return s.tmp_0; - case 16: - r0 = s.retval; - s.tmp_0 = r0 = s.tOff___43439; - r0 = pxsim_String_.length(s.tab___43441); - s.tmp_2 = r0; - r0 = (s.tmp_2 + s.padding___43443); - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); - s.tOff___43439 = (r0); - r0 = (s.unnamed275___U7 + 1); - s.unnamed275___U7 = (r0); - { step = 8; continue; } - case 9: - s.unnamed274___U6 = (undefined); - { step = 11; continue; } - case 10: - s.tmp_0 = helpers_imagePrint__P38287_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - r0 = pxsim_Array__getAt(globals.consoleStrings___39710, s.i___43417); - s.tmp_0.arg1 = r0; - s.tmp_0.arg2 = 4; - s.tmp_1 = r0 = s.top___43411; - r0 = (s.i___43417 * s.height___43406); - s.tmp_2 = r0; - r0 = (s.tmp_1 + s.tmp_2); - s.tmp_0.arg3 = r0; - s.tmp_0.arg4 = globals.consoleColor___39709; - s.tmp_0.arg5 = globals.consoleFont___39718; - s.tmp_0.arg6 = undefined; - s.callLocIdx = 1134; s.pc = 18; return s.tmp_0; - case 18: - r0 = s.retval; - case 11: - r0 = (s.i___43417 + 1); - s.i___43417 = (r0); - { step = 7; continue; } - case 12: - case 13: - r0 = undefined; + r0 = s.tmp_4; return leave(s, r0) default: oops() } } } -game_consoleOverlay_draw__P39750.info = {"start":1364,"length":859,"line":44,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"draw","argumentNames":[]} +tiles_TileMap_areaWidth__P2742.info = {"start":9763,"length":91,"line":333,"column":8,"endLine":335,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaWidth","argumentNames":["this"]} -function game_consoleOverlay_draw__P39750_mk(s) { +function tiles_TileMap_areaWidth__P2742_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_consoleOverlay_draw__P39750, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_areaWidth__P2742, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___43406: undefined, - top___43411: undefined, - i___43417: undefined, - t___43431: undefined, - tOff___43439: undefined, - tab___43441: undefined, - unnamed274___U6: undefined, - unnamed275___U7: undefined, - padding___43443: undefined, + arg0: undefined, } } -function scene_systemMenu_isVisible__P39666(s) { +function tiles_TileMapData_width__P2718(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6008,33 +6295,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.instance___39630); - 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) + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C2716_VT)) failedCast(r0); + r0 = s.arg0.fields["_width"]; + return leaveAccessor(s, r0) default: oops() } } } -scene_systemMenu_isVisible__P39666.info = {"start":13170,"length":62,"line":395,"column":4,"endLine":397,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"isVisible","argumentNames":[]} +tiles_TileMapData_width__P2718.info = {"start":6416,"length":63,"line":214,"column":8,"endLine":216,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"width","argumentNames":["this"]} +tiles_TileMapData_width__P2718.isGetter = true; -function scene_systemMenu_isVisible__P39666_mk(s) { +function tiles_TileMapData_width__P2718_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_isVisible__P39666, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_width__P2718, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, + arg0: undefined, } } -function helpers_imagePrint__P38287(s) { +function scene_Camera_offsetX__P2785(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6044,506 +6330,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.x0___43516 = undefined; - s.cp___43518 = undefined; - s.mult___43519 = undefined; - s.dataW___43525 = undefined; - s.dataH___43531 = undefined; - s.byteHeight___43537 = undefined; - s.charSize___43543 = undefined; - s.dataSize___43547 = undefined; - s.fontdata___43551 = undefined; - s.lastchar___43555 = undefined; - s.imgBuf___43563 = undefined; - s.xOffset___43587 = undefined; - s.yOffset___43588 = undefined; - s.ch___43605 = undefined; - s.l___43624 = undefined; - s.r___43625 = undefined; - s.off___43627 = undefined; - s.guess___43628 = undefined; - s.m___43649 = undefined; - s.v___43658 = undefined; - s.i___43717 = undefined; - s.j___43722 = undefined; - s.mask___43723 = undefined; - s.c___43724 = undefined; - s.n___43741 = 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__P38279_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 98; 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___43516 = (s.arg2); - s.cp___43518 = (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 = 99; 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 = 100; 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___43519 = (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 = 101; 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___43519); - s.dataW___43525 = (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 = 102; 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___43519); - s.dataH___43531 = (r0); - r0 = (s.dataH___43531 + 7); - s.tmp_0 = r0; - r0 = (s.tmp_0 >> 3); - s.byteHeight___43537 = (r0); - r0 = (s.byteHeight___43537 * s.dataW___43525); - s.charSize___43543 = (r0); - r0 = (2 + s.charSize___43543); - s.dataSize___43547 = (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 = 103; s.pc = 44; return s.tmp_0; } - } - case 44: - r0 = s.retval; - s.fontdata___43551 = (r0); - r0 = pxsim.BufferMethods.length(s.fontdata___43551); - s.tmp_1 = r0; - r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___43547); - s.tmp_0 = r0; - r0 = (s.tmp_0 - 1); - s.lastchar___43555 = (r0); - r0 = (s.mult___43519 == 1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - r0 = (8 + s.charSize___43543); - s.tmp_1 = r0; - r0 = pxsim.control.createBuffer(s.tmp_1); - s.imgBuf___43563 = (r0); - r0 = pxsim.BufferMethods.setByte(s.imgBuf___43563, 0, 135); - r0 = pxsim.BufferMethods.setByte(s.imgBuf___43563, 1, 1); - r0 = pxsim.BufferMethods.setByte(s.imgBuf___43563, 2, s.dataW___43525); - r0 = pxsim.BufferMethods.setByte(s.imgBuf___43563, 4, s.dataH___43531); - case 7: - case 8: - case 9: - s.tmp_1 = r0 = s.cp___43518; - 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___43587 = (0); - s.yOffset___43588 = (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___43518; - 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___43518); - 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 = 104; s.pc = 45; return s.tmp_4; } - } - case 45: - r0 = s.retval; - s.xOffset___43587 = (r0); - s.tmp_0 = if_yOffset_1_mk(s); - r0 = pxsim_Array__getAt(s.arg6, s.cp___43518); - 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 = 105; s.pc = 46; return s.tmp_0; } - } - case 46: - r0 = s.retval; - s.yOffset___43588 = (r0); - case 12: - case 13: - s.tmp_0 = r0 = s.cp___43518; - r0 = (s.tmp_0 + 1); - s.cp___43518 = (r0); - r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0); - s.ch___43605 = (r0); - r0 = (s.ch___43605 == 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 = 106; 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___43516); - case 14: - case 15: - r0 = (s.ch___43605 < 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___43624 = (0); - s.r___43625 = (s.lastchar___43555); - s.off___43627 = (0); - r0 = (s.ch___43605 - 32); - s.tmp_0 = r0; - r0 = (s.tmp_0 * s.dataSize___43547); - s.guess___43628 = (r0); - r0 = pxsim.BufferMethods.getNumber(s.fontdata___43551, 4, s.guess___43628); - s.tmp_1 = r0; - r0 = (s.tmp_1 == s.ch___43605); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 18; continue; } - s.off___43627 = (s.guess___43628); - { step = 25; continue; } - case 18: - case 19: - r0 = (s.l___43624 <= s.r___43625); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 24; continue; } - s.tmp_1 = r0 = s.l___43624; - r0 = (s.r___43625 - s.l___43624); - s.tmp_3 = r0; - r0 = (s.tmp_3 >> 1); - s.tmp_2 = r0; - r0 = (s.tmp_1 + s.tmp_2); - s.m___43649 = (r0); - s.tmp_0 = r0 = s.fontdata___43551; - r0 = (s.m___43649 * s.dataSize___43547); - s.tmp_1 = r0; - r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1); - s.v___43658 = (r0); - r0 = (s.v___43658 == s.ch___43605); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 20; continue; } - r0 = (s.m___43649 * s.dataSize___43547); - s.off___43627 = (r0); - { step = 24; continue; } - case 20: - case 21: - r0 = (s.v___43658 < s.ch___43605); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 22; continue; } - r0 = (s.m___43649 + 1); - s.l___43624 = (r0); - { step = 23; continue; } - case 22: - r0 = (s.m___43649 - 1); - s.r___43625 = (r0); - case 23: - { step = 19; continue; } - case 24: - case 25: - r0 = (s.mult___43519 == 1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 26; continue; } - s.tmp_1 = r0 = s.imgBuf___43563; - s.tmp_3 = r0 = s.fontdata___43551; - r0 = (s.off___43627 + 2); - s.tmp_4 = r0; - r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___43543); - s.tmp_2 = r0; - r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2); - s.tmp_0 = helpers_imageDrawIcon__P38260_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.imgBuf___43563; - r0 = (s.arg2 + s.xOffset___43587); - s.tmp_0.arg2 = r0; - r0 = (s.arg3 + s.yOffset___43588); - s.tmp_0.arg3 = r0; - s.tmp_0.arg4 = s.arg4; - s.callLocIdx = 107; 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 = 108; 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___43627 + 2); - s.off___43627 = (r0); - s.i___43717 = (0); - case 27: - r0 = (s.i___43717 < s.dataW___43525); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 36; continue; } - s.j___43722 = (0); - s.mask___43723 = (1); - s.tmp_0 = r0 = s.off___43627; - r0 = (s.tmp_0 + 1); - s.off___43627 = (r0); - r0 = pxsim.BufferMethods.getByte(s.fontdata___43551, s.tmp_0); - s.c___43724 = (r0); - case 28: - r0 = (s.j___43722 < s.dataH___43531); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 35; continue; } - r0 = (s.mask___43723 == 256); - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 29; continue; } - s.tmp_2 = r0 = s.off___43627; - r0 = (s.tmp_2 + 1); - s.off___43627 = (r0); - r0 = pxsim.BufferMethods.getByte(s.fontdata___43551, s.tmp_2); - s.c___43724 = (r0); - s.mask___43723 = (1); - case 29: - case 30: - s.n___43741 = (0); - case 31: - r0 = (s.c___43724 & s.mask___43723); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 32; continue; } - r0 = (s.n___43741 + 1); - s.n___43741 = (r0); - r0 = (s.mask___43723 << 1); - s.mask___43723 = (r0); - { step = 31; continue; } - case 32: - r0 = pxsim_numops_toBoolDecr(s.n___43741); - if (!r0) { step = 33; continue; } - s.tmp_0 = helpers_imageFillRect__P38261_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = r0 = s.arg2; - r0 = (s.xOffset___43587 * s.mult___43519); - 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___43722 + s.yOffset___43588); - s.tmp_5 = r0; - r0 = (s.tmp_5 * s.mult___43519); - s.tmp_4 = r0; - r0 = (s.tmp_3 + s.tmp_4); - s.tmp_0.arg2 = r0; - s.tmp_0.arg3 = s.mult___43519; - r0 = (s.mult___43519 * s.n___43741); - s.tmp_0.arg4 = r0; - s.tmp_0.arg5 = s.arg4; - s.callLocIdx = 109; s.pc = 50; return s.tmp_0; - case 50: - r0 = s.retval; - r0 = (s.j___43722 + s.n___43741); - s.j___43722 = (r0); - { step = 34; continue; } - case 33: - r0 = (s.mask___43723 << 1); - s.mask___43723 = (r0); - r0 = (s.j___43722 + 1); - s.j___43722 = (r0); - case 34: - { step = 28; continue; } - case 35: - r0 = (s.arg2 + s.mult___43519); - s.arg2 = (r0); - r0 = (s.i___43717 + 1); - s.i___43717 = (r0); - { step = 27; continue; } - case 36: - case 37: - { step = 9; continue; } - case 38: - r0 = undefined; - return leave(s, r0) + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetX"]; + return leaveAccessor(s, r0) default: oops() } } } -helpers_imagePrint__P38287.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"]} +scene_Camera_offsetX__P2785.info = {"start":716,"length":59,"line":25,"column":8,"endLine":27,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this"]} +scene_Camera_offsetX__P2785.isGetter = true; -function helpers_imagePrint__P38287_mk(s) { +function scene_Camera_offsetX__P2785_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imagePrint__P38287, depth: s.depth + 1, + parent: s, fn: scene_Camera_offsetX__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, - x0___43516: undefined, - cp___43518: undefined, - mult___43519: undefined, - dataW___43525: undefined, - dataH___43531: undefined, - byteHeight___43537: undefined, - charSize___43543: undefined, - dataSize___43547: undefined, - fontdata___43551: undefined, - lastchar___43555: undefined, - imgBuf___43563: undefined, - xOffset___43587: undefined, - yOffset___43588: undefined, - ch___43605: undefined, - l___43624: undefined, - r___43625: undefined, - off___43627: undefined, - guess___43628: undefined, - m___43649: undefined, - v___43658: undefined, - i___43717: undefined, - j___43722: undefined, - mask___43723: undefined, - c___43724: undefined, - n___43741: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, - arg5: undefined, - arg6: undefined, } } -function image_getFontForText__P38279(s) { +function Sprite_y__P2355(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6553,52 +6365,39 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.i___43852 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.i___43852 = (0); - case 1: - s.tmp_1 = r0 = s.i___43852; - r0 = pxsim_String_.length(s.arg0); + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_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); + 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___43852); - 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___38278; - { step = 5; continue; } - case 2: - case 3: - r0 = (s.i___43852 + 1); - s.i___43852 = (r0); - { step = 1; continue; } - case 4: - r0 = globals.font8___38276; - case 5: - return leave(s, r0) + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -image_getFontForText__P38279.info = {"start":11713,"length":259,"line":136,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"getFontForText","argumentNames":["text"]} +Sprite_y__P2355.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__P2355.isGetter = true; -function image_getFontForText__P38279_mk(s) { +function Sprite_y__P2355_mk(s) { checkStack(s.depth); return { - parent: s, fn: image_getFontForText__P38279, depth: s.depth + 1, + parent: s, fn: Sprite_y__P2355, depth: s.depth + 1, pc: 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___43852: undefined, arg0: undefined, } } @@ -6606,7 +6405,7 @@ function image_getFontForText__P38279_mk(s) { -function helpers_imageFillRect__P38261(s) { +function Fx_toFloat__P173(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6618,58 +6417,27 @@ switch (step) { 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__P38256_mk(s); - s.tmp_2.arg0 = s.arg1; - s.tmp_2.arg1 = s.arg2; - s.callLocIdx = 80; s.pc = 1; return s.tmp_2; - case 1: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_4 = helpers_pack__P38256_mk(s); - s.tmp_4.arg0 = s.arg3; - s.tmp_4.arg1 = s.arg4; - s.callLocIdx = 81; 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; + r0 = (s.arg0 / 256); return leave(s, r0) default: oops() } } } -helpers_imageFillRect__P38261.info = {"start":5454,"length":159,"line":176,"column":4,"endLine":178,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageFillRect","argumentNames":["img","x","y","w","h","c"]} +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 helpers_imageFillRect__P38261_mk(s) { +function Fx_toFloat__P173_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imageFillRect__P38261, depth: s.depth + 1, + parent: s, fn: Fx_toFloat__P173, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, - arg5: undefined, } } -function helpers_pack__P38256(s) { +function Fx_div__P162(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6684,45 +6452,20 @@ switch (step) { s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_2 = Math_clamp__P37593_mk(s); - s.tmp_2.arg0 = -30000; - s.tmp_2.arg1 = 30000; - r0 = (s.arg0 | 0); - s.tmp_2.arg2 = r0; - s.callLocIdx = 77; s.pc = 1; return s.tmp_2; - case 1: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_1 & 65535); + r0 = (s.arg0 << 8); s.tmp_0 = r0; - s.tmp_5 = Math_clamp__P37593_mk(s); - s.tmp_5.arg0 = -30000; - s.tmp_5.arg1 = 30000; - r0 = (s.arg1 | 0); - s.tmp_5.arg2 = r0; - s.callLocIdx = 78; 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); + r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1); return leave(s, r0) default: oops() } } } -helpers_pack__P38256.info = {"start":4278,"length":145,"line":148,"column":4,"endLine":150,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"pack","argumentNames":["x","y"]} +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 helpers_pack__P38256_mk(s) { +function Fx_div__P162_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_pack__P38256, depth: s.depth + 1, + parent: s, fn: Fx_div__P162, depth: s.depth + 1, pc: 0, retval: undefined, 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, } } @@ -6731,7 +6474,7 @@ function helpers_pack__P38256_mk(s) { -function Math_clamp__P37593(s) { +function Fx_add__P157(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6744,43 +6487,28 @@ switch (step) { 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__P37597_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_1 = Math_max__P37596_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_1.arg1 = s.arg2; - s.callLocIdx = 15; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 16; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; + r0 = (s.arg0 + s.arg1); return leave(s, r0) default: oops() } } } -Math_clamp__P37593.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"]} +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 Math_clamp__P37593_mk(s) { +function Fx_add__P157_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_clamp__P37593, depth: s.depth + 1, + parent: s, fn: Fx_add__P157, 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__P37597(s) { +function Sprite_x__P2353(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6792,39 +6520,45 @@ switch (step) { 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) + if (!checkSubtype(r0, Sprite__C2340_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() } } } -Math_min__P37597.info = {"start":16854,"length":105,"line":568,"column":4,"endLine":571,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"min","argumentNames":["a","b"]} +Sprite_x__P2353.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__P2353.isGetter = true; -function Math_min__P37597_mk(s) { +function Sprite_x__P2353_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_min__P37597, depth: s.depth + 1, + parent: s, fn: Sprite_x__P2353, depth: s.depth + 1, pc: 0, retval: 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 helpers_imageDrawIcon__P38260(s) { +function PhysicsEngine_move__P2516(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6837,48 +6571,30 @@ switch (step) { 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__P38256_mk(s); - s.tmp_3.arg0 = s.arg2; - s.tmp_3.arg1 = s.arg3; - s.callLocIdx = 79; 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 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C2510_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_imageDrawIcon__P38260.info = {"start":5304,"length":145,"line":173,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawIcon","argumentNames":["img","icon","x","y","c"]} +PhysicsEngine_move__P2516.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 helpers_imageDrawIcon__P38260_mk(s) { +function PhysicsEngine_move__P2516_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imageDrawIcon__P38260, depth: s.depth + 1, + parent: s, fn: PhysicsEngine_move__P2516, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, } } -function helpers_stringSplit__P37588(s) { +function PhysicsEngine_draw__P2515(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -6888,186 +6604,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.A___43875 = undefined; - s.lim___43877 = undefined; - s.s___43893 = undefined; - s.p___43896 = undefined; - s.R___43897 = undefined; - s.z___43911 = undefined; - s.T___43924 = undefined; - s.q___43925 = undefined; - s.e___43931 = 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___43875 = (r0); - s.lim___43877 = (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___43877 = (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___43877 = (0); - { step = 3; continue; } - case 2: - r0 = (s.arg2 | 0); - s.lim___43877 = (r0); - case 3: - case 4: - r0 = pxsim_String_.length(s.arg0); - s.s___43893 = (r0); - s.p___43896 = (0); - s.R___43897 = (s.arg1); - r0 = (s.lim___43877 == 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - r0 = s.A___43875; - { 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___43875, 0, s.arg0); - r0 = s.A___43875; - { step = 21; continue; } - case 7: - case 8: - r0 = (s.s___43893 == 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 11; continue; } - s.tmp_1 = helpers_splitMatch__P37589_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_1.arg1 = 0; - s.tmp_1.arg2 = s.R___43897; - s.callLocIdx = 11; s.pc = 22; return s.tmp_1; - case 22: - r0 = s.retval; - s.z___43911 = (r0); - r0 = (s.z___43911 > -1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 9; continue; } - r0 = s.A___43875; - { step = 21; continue; } - case 9: - case 10: - r0 = pxsim_Array_.setAt(s.A___43875, 0, s.arg0); - r0 = s.A___43875; - { step = 21; continue; } - case 11: - case 12: - s.q___43925 = (s.p___43896); - case 13: - r0 = (s.q___43925 != s.s___43893); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 20; continue; } - s.tmp_1 = helpers_splitMatch__P37589_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_1.arg1 = s.q___43925; - s.tmp_1.arg2 = s.R___43897; - s.callLocIdx = 12; s.pc = 23; return s.tmp_1; - case 23: - r0 = s.retval; - s.e___43931 = (r0); - r0 = (s.e___43931 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 14; continue; } - r0 = (s.q___43925 + 1); - s.q___43925 = (r0); - { step = 19; continue; } - case 14: - r0 = (s.e___43931 == s.p___43896); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 15; continue; } - r0 = (s.q___43925 + 1); - s.q___43925 = (r0); - { step = 18; continue; } - case 15: - s.tmp_0 = helpers_stringSlice__P37585_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.p___43896; - s.tmp_0.arg2 = s.q___43925; - s.callLocIdx = 13; s.pc = 24; return s.tmp_0; - case 24: - r0 = s.retval; - s.T___43924 = (r0); - r0 = pxsim_Array__push(s.A___43875, s.T___43924); - r0 = pxsim_Array__length(s.A___43875); - s.tmp_1 = r0; - r0 = (s.tmp_1 == s.lim___43877); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 16; continue; } - r0 = s.A___43875; - { step = 21; continue; } - case 16: - case 17: - s.p___43896 = (s.e___43931); - s.q___43925 = (s.p___43896); - case 18: - case 19: - { step = 13; continue; } - case 20: - s.tmp_0 = helpers_stringSlice__P37585_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.p___43896; - s.tmp_0.arg2 = s.q___43925; - s.callLocIdx = 14; s.pc = 25; return s.tmp_0; - case 25: - r0 = s.retval; - s.T___43924 = (r0); - r0 = pxsim_Array__push(s.A___43875, s.T___43924); - r0 = s.A___43875; - case 21: + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C2510_VT)) failedCast(r0); + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_stringSplit__P37588.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"]} +PhysicsEngine_draw__P2515.info = {"start":279,"length":10,"line":15,"column":4,"endLine":15,"endColumn":14,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]} -function helpers_stringSplit__P37588_mk(s) { +function PhysicsEngine_draw__P2515_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_stringSplit__P37588, depth: s.depth + 1, + parent: s, fn: PhysicsEngine_draw__P2515, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - A___43875: undefined, - lim___43877: undefined, - s___43893: undefined, - p___43896: undefined, - R___43897: undefined, - z___43911: undefined, - T___43924: undefined, - q___43925: undefined, - e___43931: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function helpers_splitMatch__P37589(s) { +function controller___update__P2165(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7077,85 +6638,51 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.r___43976 = undefined; - s.s___43979 = undefined; - s.i___43989 = undefined; + s.dtms___9387 = 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___43976 = (r0); - r0 = pxsim_String_.length(s.arg0); - s.s___43979 = (r0); - r0 = (s.arg1 + s.r___43976); - s.tmp_1 = r0; - r0 = (s.tmp_1 > s.s___43979); + r0 = (s.arg0 * 1000); 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___43989 = (0); - case 3: - r0 = (s.i___43989 < s.r___43976); + r0 = (s.tmp_0 | 0); + s.dtms___9387 = (r0); + r0 = pxsim_pxtcore_mkAction(1, controller___update_inline__P9394); 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___43989); - 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___43989); - 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___43989 + 1); - s.i___43989 = (r0); - { step = 3; continue; } - case 6: - r0 = (s.arg1 + s.r___43976); - case 7: + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___9387); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_2 = controller_players__P2129_mk(s); + s.callLocIdx = 194; 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 = 196; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_splitMatch__P37589.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"]} +controller___update__P2165.info = {"start":13733,"length":137,"line":414,"column":4,"endLine":417,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["dt"]} -function helpers_splitMatch__P37589_mk(s) { +function controller___update__P2165_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_splitMatch__P37589, depth: s.depth + 1, + parent: s, fn: controller___update__P2165, depth: s.depth + 1, pc: 0, retval: undefined, 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___43976: undefined, - s___43979: undefined, - i___43989: undefined, + dtms___9387: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function scene_Camera_update__P39150(s) { +function controller___update_inline__P9394(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7165,179 +6692,28 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.elapsed___44487 = undefined; - s.percentComplete___44501 = undefined; - s.damp___44508 = undefined; - s.f___44517 = undefined; - s.x___44523 = undefined; - s.y___44530 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_VT)) failedCast(r0); - r0 = s.arg0.fields["sprite"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_1 = r0 = s.arg0; - s.tmp_3 = Sprite_x__P38664_mk(s); - r0 = s.arg0.fields["sprite"]; - s.tmp_3.arg0 = r0; - s.callLocIdx = 891; s.pc = 9; return s.tmp_3; - case 9: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_1).fields["_lastUpdatedSpriteX"] = (s.tmp_2); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = Sprite_y__P38666_mk(s); - r0 = s.arg0.fields["sprite"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 892; s.pc = 10; return s.tmp_2; - case 10: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_lastUpdatedSpriteY"] = (s.tmp_1); - s.tmp_0 = scene_Camera_offsetX__P39139_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_2 = Sprite_x__P38664_mk(s); - r0 = s.arg0.fields["sprite"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 893; s.pc = 12; return s.tmp_2; - case 12: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.tmp_4 = r0; - r0 = (s.tmp_4 >> 1); - s.tmp_3 = r0; - r0 = (s.tmp_1 - s.tmp_3); - s.tmp_0.arg1 = r0; - s.callLocIdx = 894; s.pc = 11; return s.tmp_0; - case 11: - r0 = s.retval; - s.tmp_0 = scene_Camera_offsetY__P39141_mk(s); + s.tmp_0 = controller_Controller___update__P2163_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_2 = Sprite_y__P38666_mk(s); - r0 = s.arg0.fields["sprite"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 895; s.pc = 14; return s.tmp_2; - case 14: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_ImageMethods.height(globals.screen___38324); - s.tmp_4 = r0; - r0 = (s.tmp_4 >> 1); - s.tmp_3 = r0; - r0 = (s.tmp_1 - s.tmp_3); - s.tmp_0.arg1 = r0; - s.callLocIdx = 896; s.pc = 13; return s.tmp_0; - case 13: - r0 = s.retval; + s.tmp_0.arg1 = s.caps[0]; + s.callLocIdx = 195; s.pc = 1; return s.tmp_0; case 1: - case 2: - s.tmp_0 = r0 = s.arg0; - r0 = s.arg0.fields["_offsetX"]; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["drawOffsetX"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = s.arg0.fields["_offsetY"]; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["drawOffsetY"] = (s.tmp_1); - r0 = s.arg0.fields["shakeStartTime"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 !== undefined); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - r0 = pxsim.control.millis(); - s.tmp_2 = r0; - r0 = s.arg0.fields["shakeStartTime"]; - s.tmp_3 = r0; - r0 = (s.tmp_2 - s.tmp_3); - s.elapsed___44487 = (r0); - r0 = s.arg0.fields["shakeDuration"]; - s.tmp_1 = r0; - r0 = (s.elapsed___44487 >= 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___44487 / s.tmp_0); - s.percentComplete___44501 = (r0); - s.damp___44508 = (1); - r0 = (s.percentComplete___44501 >= 0.75); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - s.tmp_1 = Math_max__P37596_mk(s); - s.tmp_1.arg0 = 0; - r0 = (1 - s.percentComplete___44501); - s.tmp_1.arg1 = r0; - s.callLocIdx = 899; s.pc = 15; return s.tmp_1; - case 15: r0 = s.retval; - s.damp___44508 = (r0); - case 4: - case 5: - r0 = s.arg0.fields["shakeAmplitude"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 * s.damp___44508); - s.f___44517 = (r0); - r0 = pxsim.Math_.random(); - s.tmp_1 = r0; - r0 = (s.tmp_1 * s.f___44517); - s.tmp_0 = r0; - r0 = (s.tmp_0 >> 0); - s.x___44523 = (r0); - r0 = pxsim.Math_.random(); - s.tmp_1 = r0; - r0 = (s.tmp_1 * s.f___44517); - s.tmp_0 = r0; - r0 = (s.tmp_0 >> 0); - s.y___44530 = (r0); - s.tmp_0 = r0 = s.arg0; - r0 = s.tmp_0.fields["drawOffsetX"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + s.x___44523); - 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___44530); - 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__P39150.info = {"start":2563,"length":1418,"line":83,"column":8,"endLine":116,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"update","argumentNames":["this"]} +controller___update_inline__P9394.info = {"start":13835,"length":27,"line":416,"column":26,"endLine":416,"endColumn":53,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} -function scene_Camera_update__P39150_mk(s) { +function controller___update_inline__P9394_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_update__P39150, depth: s.depth + 1, + parent: s, fn: controller___update_inline__P9394, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - elapsed___44487: undefined, - percentComplete___44501: undefined, - damp___44508: undefined, - f___44517: undefined, - x___44523: undefined, - y___44530: undefined, arg0: undefined, } } @@ -7345,7 +6721,7 @@ function scene_Camera_update__P39150_mk(s) { -function scene_Camera_offsetY__P39141(s) { +function controller_Controller___update__P2163(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7355,84 +6731,48 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___44549 = 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__C39137_VT)) failedCast(r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 882; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - s.scene___44549 = (r0); - r0 = s.scene___44549.fields["tileMap"]; + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = pxsim_pxtrt.mklocRef(); 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___44549.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); + 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 = pxsim_numops_toBoolDecr(s.tmp_3); + r0 = (s.tmp_3 | 0); s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); - case 2: - // jmp value (already in r0) - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 3; continue; } - s.tmp_7 = r0 = s.arg0; - s.tmp_10 = tiles_TileMap_offsetY__P39095_mk(s); - r0 = s.scene___44549.fields["tileMap"]; - s.tmp_10.arg0 = r0; - s.tmp_10.arg1 = s.arg1; - s.callLocIdx = 884; s.pc = 6; return s.tmp_10; - case 6: + r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2); + r0 = pxsim_pxtcore_mkAction(1, controller_Controller___update_inline__P9407); + 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 = 193; s.pc = 1; return s.tmp_1; + case 1: r0 = s.retval; - s.tmp_9 = r0; - r0 = pxsim.Math_.floor(s.tmp_9); - s.tmp_8 = r0; - r0 = (s.tmp_7).fields["_offsetY"] = (s.tmp_8); - { step = 4; continue; } - case 3: - s.tmp_0 = r0 = s.arg0; - r0 = pxsim.Math_.floor(s.arg1); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_offsetY"] = (s.tmp_1); - case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Camera_offsetY__P39141.info = {"start":1152,"length":291,"line":39,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this","v"]} +controller_Controller___update__P2163.info = {"start":13211,"length":124,"line":396,"column":8,"endLine":399,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]} -function scene_Camera_offsetY__P39141_mk(s) { +function controller_Controller___update__P2163_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_offsetY__P39141, depth: s.depth + 1, + parent: s, fn: controller_Controller___update__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, - tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, - tmp_10: undefined, - scene___44549: undefined, arg0: undefined, arg1: undefined, } } @@ -7441,7 +6781,7 @@ function scene_Camera_offsetY__P39141_mk(s) { -function tiles_TileMap_enabled__P39100(s) { +function controller_Controller___update_inline__P9407(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7455,32 +6795,25 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_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) + s.tmp_0 = controller_Button___update__P2203_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_0.arg1 = r0; + s.callLocIdx = 192; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) default: oops() } } } -tiles_TileMap_enabled__P39100.info = {"start":10177,"length":66,"line":351,"column":8,"endLine":353,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"enabled","argumentNames":["this"]} -tiles_TileMap_enabled__P39100.isGetter = true; +controller_Controller___update_inline__P9407.info = {"start":13298,"length":25,"line":398,"column":33,"endLine":398,"endColumn":58,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["btn"]} -function tiles_TileMap_enabled__P39100_mk(s) { +function controller_Controller___update_inline__P9407_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_enabled__P39100, depth: s.depth + 1, + parent: s, fn: controller_Controller___update_inline__P9407, depth: s.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, } } @@ -7488,7 +6821,7 @@ function tiles_TileMap_enabled__P39100_mk(s) { -function tiles_TileMap_offsetY__P39095(s) { +function controller_Button___update__P2203(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7498,50 +6831,115 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.delay___9423 = undefined; + s.interval___9432 = undefined; + s.count___9445 = 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__C39090_VT)) failedCast(r0); - s.tmp_0 = Math_clamp__P37593_mk(s); - s.tmp_0.arg0 = 0; - s.tmp_1 = Math_max__P37596_mk(s); - s.tmp_3 = tiles_TileMap_areaHeight__P39097_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 821; s.pc = 3; return s.tmp_3; + if (!checkSubtype(r0, controller_Button__C2189_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___4720; + { step = 4; continue; } case 3: - r0 = s.retval; + r0 = s.arg0.fields["repeatDelay"]; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.delay___9423 = (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___4722; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["repeatInterval"]; + case 6: + // jmp value (already in r0) s.tmp_2 = r0; - r0 = pxsim_ImageMethods.height(globals.screen___38324); + s.interval___9432 = (s.tmp_2); + r0 = s.arg0.fields["_pressedElasped"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < s.delay___9423); + 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___9423); s.tmp_4 = r0; - r0 = (s.tmp_2 - s.tmp_4); - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 0; - s.callLocIdx = 822; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.tmp_0.arg2 = s.arg1; - s.callLocIdx = 823; s.pc = 1; return s.tmp_0; - case 1: + r0 = (s.tmp_4 - s.interval___9432); + s.tmp_3 = r0; + r0 = (s.tmp_3 / s.interval___9432); + s.tmp_2 = r0; + r0 = pxsim.Math_.floor(s.tmp_2); + s.count___9445 = (r0); + r0 = s.arg0.fields["_repeatCount"]; + s.tmp_1 = r0; + r0 = (s.count___9445 != 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__P4709_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 208; s.pc = 12; return s.tmp_2; + case 12: r0 = s.retval; + r0 = (s.arg0).fields["_repeatCount"] = (s.count___9445); + case 9: + case 10: + case 11: + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMap_offsetY__P39095.info = {"start":9630,"length":123,"line":329,"column":8,"endLine":331,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetY","argumentNames":["this","value"]} +controller_Button___update__P2203.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 tiles_TileMap_offsetY__P39095_mk(s) { +function controller_Button___update__P2203_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_offsetY__P39095, depth: s.depth + 1, + parent: s, fn: controller_Button___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, + delay___9423: undefined, + interval___9432: undefined, + count___9445: undefined, arg0: undefined, arg1: undefined, } } @@ -7550,7 +6948,7 @@ function tiles_TileMap_offsetY__P39095_mk(s) { -function tiles_TileMap_areaHeight__P39097(s) { +function controller_Button_raiseButtonRepeat__P4709(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7565,40 +6963,30 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - r0 = s.arg0.fields["_map"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___4718); 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); + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2054, s.tmp_0); { step = 2; continue; } case 1: - r0 = 0; + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2055, s.tmp_0); case 2: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = s.tmp_4; + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMap_areaHeight__P39097.info = {"start":9864,"length":93,"line":337,"column":8,"endLine":339,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaHeight","argumentNames":["this"]} +controller_Button_raiseButtonRepeat__P4709.info = {"start":3303,"length":211,"line":110,"column":8,"endLine":115,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonRepeat","argumentNames":["this"]} -function tiles_TileMap_areaHeight__P39097_mk(s) { +function controller_Button_raiseButtonRepeat__P4709_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_areaHeight__P39097, depth: s.depth + 1, + parent: s, fn: controller_Button_raiseButtonRepeat__P4709, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, arg0: undefined, } } @@ -7606,7 +6994,7 @@ function tiles_TileMap_areaHeight__P39097_mk(s) { -function tiles_TileMap_scale__P39091(s) { +function controller_players__P2129(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7616,32 +7004,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - r0 = s.arg0.fields["_scale"]; - return leaveAccessor(s, r0) + s.tmp_0 = controller__player1__P2128_mk(s); + s.callLocIdx = 153; 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___4638; + s.tmp_0.arg1 = controller_players_inline__P9377; + s.callLocIdx = 154; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + return leave(s, r0) default: oops() } } } -tiles_TileMap_scale__P39091.info = {"start":9205,"length":55,"line":310,"column":8,"endLine":312,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} -tiles_TileMap_scale__P39091.isGetter = true; +controller_players__P2129.info = {"start":1645,"length":144,"line":53,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"players","argumentNames":[]} -function tiles_TileMap_scale__P39091_mk(s) { +function controller_players__P2129_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_scale__P39091, depth: s.depth + 1, + parent: s, fn: controller_players__P2129, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, + tmp_0: undefined, } } -function tiles_TileMapData_height__P39077(s) { +function controller_players_inline__P9377(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7655,20 +7045,26 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMapData__C39075_VT)) failedCast(r0); - r0 = s.arg0.fields["_height"]; - return leaveAccessor(s, r0) + 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() } } } -tiles_TileMapData_height__P39077.info = {"start":6489,"length":65,"line":218,"column":8,"endLine":220,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"height","argumentNames":["this"]} -tiles_TileMapData_height__P39077.isGetter = true; +controller_players_inline__P9377.info = {"start":1767,"length":14,"line":55,"column":31,"endLine":55,"endColumn":45,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} -function tiles_TileMapData_height__P39077_mk(s) { +function controller_players_inline__P9377_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMapData_height__P39077, depth: s.depth + 1, + parent: s, fn: controller_players_inline__P9377, 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, } } @@ -7676,7 +7072,7 @@ function tiles_TileMapData_height__P39077_mk(s) { -function scene_Camera_offsetY__P39140(s) { +function helpers_arrayFilter__P110(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7686,32 +7082,71 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.res___9296 = undefined; + s.len___9298 = undefined; + s.i___9301 = undefined; + s.v___9306 = 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__C39137_VT)) failedCast(r0); - r0 = s.arg0.fields["_offsetY"]; - return leaveAccessor(s, r0) + r0 = pxsim_Array__mk(); + s.res___9296 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___9298 = (r0); + s.i___9301 = (0); + case 1: + r0 = (s.i___9301 < s.len___9298); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.arg0, s.i___9301); + s.v___9306 = (r0); + s.tmp_1 = lambda_3_mk(s); + s.tmp_1.argL = s.arg1; + s.tmp_1.arg0 = s.v___9306; + s.tmp_1.arg1 = s.i___9301; + 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___9296, s.v___9306); + case 2: + case 3: + r0 = (s.i___9301 + 1); + s.i___9301 = (r0); + { step = 1; continue; } + case 4: + r0 = s.res___9296; + return leave(s, r0) default: oops() } } } -scene_Camera_offsetY__P39140.info = {"start":1084,"length":59,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this"]} -scene_Camera_offsetY__P39140.isGetter = true; +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 scene_Camera_offsetY__P39140_mk(s) { +function helpers_arrayFilter__P110_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_offsetY__P39140, depth: s.depth + 1, + 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___9296: undefined, + len___9298: undefined, + i___9301: undefined, + v___9306: undefined, arg0: undefined, + arg1: undefined, } } -function scene_Camera_offsetX__P39139(s) { +function controller__moveSprites__P2133(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7721,93 +7156,36 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___44610 = 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__C39137_VT)) failedCast(r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 879; s.pc = 5; return s.tmp_0; - case 5: + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_1 = controller_players__P2129_mk(s); + s.callLocIdx = 155; s.pc = 2; return s.tmp_1; + case 2: r0 = s.retval; - s.scene___44610 = (r0); - r0 = s.scene___44610.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; } + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = controller__moveSprites_inline__P9146; + s.callLocIdx = 157; s.pc = 1; return s.tmp_0; case 1: - r0 = s.scene___44610.fields["tileMap"]; - s.tmp_1 = r0; - r0 = s.tmp_1.fields["_map"]; - s.tmp_5 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_5); - s.tmp_4 = r0; - r0 = pxsim_Boolean__bang(s.tmp_4); - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); - case 2: - // jmp value (already in r0) - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 3; continue; } - s.tmp_7 = r0 = s.arg0; - s.tmp_10 = tiles_TileMap_offsetX__P39094_mk(s); - r0 = s.scene___44610.fields["tileMap"]; - s.tmp_10.arg0 = r0; - s.tmp_10.arg1 = s.arg1; - s.callLocIdx = 881; s.pc = 6; return s.tmp_10; - case 6: r0 = s.retval; - s.tmp_9 = r0; - r0 = pxsim.Math_.floor(s.tmp_9); - s.tmp_8 = r0; - r0 = (s.tmp_7).fields["_offsetX"] = (s.tmp_8); - { step = 4; continue; } - case 3: - s.tmp_0 = r0 = s.arg0; - r0 = pxsim.Math_.floor(s.arg1); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_offsetX"] = (s.tmp_1); - case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Camera_offsetX__P39139.info = {"start":784,"length":291,"line":28,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this","v"]} +controller__moveSprites__P2133.info = {"start":2005,"length":180,"line":67,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_moveSprites","argumentNames":[]} -function scene_Camera_offsetX__P39139_mk(s) { +function controller__moveSprites__P2133_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_offsetX__P39139, depth: s.depth + 1, + parent: s, fn: controller__moveSprites__P2133, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, - tmp_10: undefined, - scene___44610: undefined, - arg0: undefined, - arg1: undefined, } } -function tiles_TileMap_offsetX__P39094(s) { +function controller__moveSprites_inline__P9146(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7819,57 +7197,33 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - s.tmp_0 = Math_clamp__P37593_mk(s); - s.tmp_0.arg0 = 0; - s.tmp_1 = Math_max__P37596_mk(s); - s.tmp_3 = tiles_TileMap_areaWidth__P39096_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 818; s.pc = 3; return s.tmp_3; - case 3: - r0 = s.retval; - s.tmp_2 = r0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.tmp_4 = r0; - r0 = (s.tmp_2 - s.tmp_4); - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 0; - s.callLocIdx = 819; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.tmp_0.arg2 = s.arg1; - s.callLocIdx = 820; s.pc = 1; return s.tmp_0; + s.tmp_0 = controller_Controller___preUpdate__P2162_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 156; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMap_offsetX__P39094.info = {"start":9499,"length":121,"line":325,"column":8,"endLine":327,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetX","argumentNames":["this","value"]} +controller__moveSprites_inline__P9146.info = {"start":2151,"length":26,"line":70,"column":26,"endLine":70,"endColumn":52,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} -function tiles_TileMap_offsetX__P39094_mk(s) { +function controller__moveSprites_inline__P9146_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_offsetX__P39094, depth: s.depth + 1, + parent: s, fn: controller__moveSprites_inline__P9146, depth: s.depth + 1, pc: 0, retval: 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__P39096(s) { +function controller_Controller___preUpdate__P2162(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7879,45 +7233,326 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.deadSprites___9153 = undefined; + s.svx___9154 = undefined; + s.svy___9155 = undefined; + s.svxInCricle___9190 = undefined; + s.svyInCircle___9192 = undefined; + s.sq___9194 = undefined; + s.scale___9209 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - r0 = s.arg0.fields["_map"]; + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + s.tmp_3 = controller_Controller__controlledSprites__P2139_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 167; 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; } - r0 = s.arg0.fields["_map"]; + { step = 17; continue; } + case 1: + case 2: + r0 = pxsim_pxtrt.mklocRef(); + s.deadSprites___9153 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.deadSprites___9153, false); + r0 = pxsim_pxtrt.mklocRef(); + s.svx___9154 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.svx___9154, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.svy___9155 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.svy___9155, 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___9154; + s.tmp_5 = controller_Button_pressureLevel__P2201_mk(s); + s.tmp_6 = controller_Controller_right__P2144_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 168; s.pc = 20; return s.tmp_6; + case 20: + r0 = s.retval; + s.tmp_5.arg0 = r0; + s.callLocIdx = 169; s.pc = 19; return s.tmp_5; + case 19: + r0 = s.retval; + s.tmp_4 = r0; + s.tmp_8 = controller_Button_pressureLevel__P2201_mk(s); + s.tmp_9 = controller_Controller_left__P2143_mk(s); + s.tmp_9.arg0 = s.arg0; + s.callLocIdx = 170; s.pc = 22; return s.tmp_9; + case 22: + r0 = s.retval; + s.tmp_8.arg0 = r0; + s.callLocIdx = 171; 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 = s.tmp_2.fields["_width"]; + r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2); + s.tmp_0 = r0 = s.svy___9155; + s.tmp_4 = controller_Button_pressureLevel__P2201_mk(s); + s.tmp_5 = controller_Controller_down__P2146_mk(s); + s.tmp_5.arg0 = s.arg0; + s.callLocIdx = 172; s.pc = 24; return s.tmp_5; + case 24: + r0 = s.retval; + s.tmp_4.arg0 = r0; + s.callLocIdx = 173; s.pc = 23; return s.tmp_4; + case 23: + r0 = s.retval; + s.tmp_3 = r0; + s.tmp_7 = controller_Button_pressureLevel__P2201_mk(s); + s.tmp_8 = controller_Controller_up__P2145_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 174; s.pc = 26; return s.tmp_8; + case 26: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.callLocIdx = 175; 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 = s.arg0.fields["_scale"]; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + { step = 12; continue; } + case 3: + s.tmp_1 = controller_Button__C2189_v0_1_mk(s); + s.tmp_2 = controller_Controller_right__P2144_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 176; 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__C2189_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; - r0 = (s.tmp_1 << s.tmp_3); - { step = 2; continue; } - case 1: + s.tmp_5 = controller_Button__C2189_v0_1_mk(s); + s.tmp_6 = controller_Controller_left__P2143_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 177; 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__C2189_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 2: + case 7: + // jmp value (already in r0) + s.tmp_7 = r0; + s.tmp_8 = r0 = s.svx___9154; + 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__C2189_v0_1_mk(s); + s.tmp_2 = controller_Controller_down__P2146_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 178; 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__C2189_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__C2189_v0_1_mk(s); + s.tmp_6 = controller_Controller_up__P2145_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 179; 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__C2189_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___9155; + 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___9190 = (r0); + s.tmp_0 = r0 = s.svxInCricle___9190; + r0 = pxsim_pxtrt_ldlocRef(s.svx___9154); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt.mklocRef(); + s.svyInCircle___9192 = (r0); + s.tmp_0 = r0 = s.svyInCircle___9192; + r0 = pxsim_pxtrt_ldlocRef(s.svy___9155); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt_ldlocRef(s.svx___9154); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svx___9154); + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svy___9155); s.tmp_4 = r0; - r0 = s.tmp_4; + r0 = pxsim_pxtrt_ldlocRef(s.svy___9155); + s.tmp_5 = r0; + r0 = (s.tmp_4 * s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_0 + s.tmp_3); + s.sq___9194 = (r0); + r0 = (s.sq___9194 > 65536); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (65536 / s.sq___9194); + s.tmp_1 = r0; + r0 = pxsim.Math_.sqrt(s.tmp_1); + s.scale___9209 = (r0); + s.tmp_0 = r0 = s.svxInCricle___9190; + s.tmp_3 = r0 = s.scale___9209; + r0 = pxsim_pxtrt_ldlocRef(s.svx___9154); + 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___9192; + s.tmp_3 = r0 = s.scale___9209; + r0 = pxsim_pxtrt_ldlocRef(s.svy___9155); + 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__P9227); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___9153); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___9154); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___9155); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.svxInCricle___9190); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.svyInCircle___9192); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_2 = controller_Controller__controlledSprites__P2139_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 180; 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 = 188; s.pc = 35; return s.tmp_1; + case 35: + r0 = s.retval; + r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___9153); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + s.tmp_1 = controller_Controller__controlledSprites__P2140_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = helpers_arrayFilter__P110_mk(s); + s.tmp_3 = controller_Controller__controlledSprites__P2139_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 189; 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__P9284; + s.callLocIdx = 190; s.pc = 38; return s.tmp_2; + case 38: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.callLocIdx = 191; 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() } } } -tiles_TileMap_areaWidth__P39096.info = {"start":9763,"length":91,"line":333,"column":8,"endLine":335,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaWidth","argumentNames":["this"]} +controller_Controller___preUpdate__P2162.info = {"start":10666,"length":2535,"line":330,"column":8,"endLine":394,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__preUpdate","argumentNames":["this"]} -function tiles_TileMap_areaWidth__P39096_mk(s) { +function controller_Controller___preUpdate__P2162_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_areaWidth__P39096, depth: s.depth + 1, + parent: s, fn: controller_Controller___preUpdate__P2162, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___9153: undefined, + svx___9154: undefined, + svy___9155: undefined, + svxInCricle___9190: undefined, + svyInCircle___9192: undefined, + sq___9194: undefined, + scale___9209: undefined, arg0: undefined, } } @@ -7925,7 +7560,7 @@ function tiles_TileMap_areaWidth__P39096_mk(s) { -function tiles_TileMapData_width__P39076(s) { +function controller_Controller___preUpdate_inline__P9227(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7935,24 +7570,167 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.s___9230 = undefined; + s.vx___9231 = undefined; + s.vy___9232 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMapData__C39075_VT)) failedCast(r0); - r0 = s.arg0.fields["_width"]; - return leaveAccessor(s, r0) + 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 = 181; s.pc = 22; return s.tmp_0; } + } + case 22: + r0 = s.retval; + s.s___9230 = (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 = 182; s.pc = 23; return s.tmp_2; } + } + case 23: + r0 = s.retval; + s.vx___9231 = (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 = 183; s.pc = 24; return s.tmp_3; } + } + case 24: + r0 = s.retval; + s.vy___9232 = (r0); + r0 = s.s___9230.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___9231); + if (!r0) { step = 3; continue; } + r0 = (s.s___9230).fields["_vx"] = (0); + case 3: + case 4: + r0 = pxsim_numops_toBoolDecr(s.vy___9232); + if (!r0) { step = 5; continue; } + r0 = (s.s___9230).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___9231; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 11; continue; } + r0 = s.tmp_2; + { step = 12; continue; } + case 11: + r0 = s.vy___9232; + 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___9230; + r0 = pxsim_pxtrt_ldlocRef(s.caps[3]); + s.tmp_6 = r0; + r0 = pxsim.Math_.imul(s.tmp_6, s.vx___9231); + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["_vx"] = (s.tmp_5); + s.tmp_0 = r0 = s.s___9230; + r0 = pxsim_pxtrt_ldlocRef(s.caps[4]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vy___9232); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + { step = 18; continue; } + case 13: + r0 = pxsim_numops_toBoolDecr(s.vx___9231); + if (!r0) { step = 14; continue; } + s.tmp_0 = r0 = s.s___9230; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vx___9231); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); + { step = 17; continue; } + case 14: + r0 = pxsim_numops_toBoolDecr(s.vy___9232); + if (!r0) { step = 15; continue; } + s.tmp_0 = r0 = s.s___9230; + r0 = pxsim_pxtrt_ldlocRef(s.caps[2]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vy___9232); + 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() } } } -tiles_TileMapData_width__P39076.info = {"start":6416,"length":63,"line":214,"column":8,"endLine":216,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"width","argumentNames":["this"]} -tiles_TileMapData_width__P39076.isGetter = true; +controller_Controller___preUpdate_inline__P9227.info = {"start":11849,"length":1171,"line":361,"column":44,"endLine":389,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["controlledSprite"]} -function tiles_TileMapData_width__P39076_mk(s) { +function controller_Controller___preUpdate_inline__P9227_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMapData_width__P39076, depth: s.depth + 1, + parent: s, fn: controller_Controller___preUpdate_inline__P9227, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___9230: undefined, + vx___9231: undefined, + vy___9232: undefined, arg0: undefined, } } @@ -7960,7 +7738,7 @@ function tiles_TileMapData_width__P39076_mk(s) { -function scene_Camera_offsetX__P39138(s) { +function controller_Controller___preUpdate_inline__P9284(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -7974,28 +7752,35 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_VT)) failedCast(r0); - r0 = s.arg0.fields["_offsetX"]; - return leaveAccessor(s, r0) - default: oops() -} } } -scene_Camera_offsetX__P39138.info = {"start":716,"length":59,"line":25,"column":8,"endLine":27,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this"]} -scene_Camera_offsetX__P39138.isGetter = true; - -function scene_Camera_offsetX__P39138_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: scene_Camera_offsetX__P39138, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, + 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__P9284.info = {"start":13147,"length":42,"line":393,"column":28,"endLine":393,"endColumn":70,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["s"]} + +function controller_Controller___preUpdate_inline__P9284_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate_inline__P9284, 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_y__P38666(s) { +function controller_Button_pressureLevel__P2201(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8010,34 +7795,57 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_y"]; + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = pxsim.control.deviceDalVersion(); 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); + r0 = (s.tmp_1 == "sim"); s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_3 = controller_Button__C2189_v0_1_mk(s); + s.tmp_3.arg0 = s.arg0; + if (!checkSubtype(s.tmp_3.arg0, controller_Button__C2189_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() } } } -Sprite_y__P38666.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__P38666.isGetter = true; +controller_Button_pressureLevel__P2201.info = {"start":6453,"length":311,"line":192,"column":8,"endLine":199,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"pressureLevel","argumentNames":["this"]} -function Sprite_y__P38666_mk(s) { +function controller_Button_pressureLevel__P2201_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_y__P38666, depth: s.depth + 1, + parent: s, fn: controller_Button_pressureLevel__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, arg0: undefined, } } @@ -8045,7 +7853,7 @@ function Sprite_y__P38666_mk(s) { -function Fx_toFloat__P37648(s) { +function controller_Button_isPressed__P2200(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8059,16 +7867,18 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = (s.arg0 / 256); + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; return leave(s, r0) default: oops() } } } -Fx_toFloat__P37648.info = {"start":2470,"length":81,"line":77,"column":4,"endLine":79,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toFloat","argumentNames":["v"]} +controller_Button_isPressed__P2200.info = {"start":6303,"length":57,"line":185,"column":8,"endLine":187,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"isPressed","argumentNames":["this"]} -function Fx_toFloat__P37648_mk(s) { +function controller_Button_isPressed__P2200_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_toFloat__P37648, depth: s.depth + 1, + parent: s, fn: controller_Button_isPressed__P2200, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } @@ -8077,7 +7887,7 @@ function Fx_toFloat__P37648_mk(s) { -function Fx_div__P37637(s) { +function controller_Controller_down__P2146(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8089,32 +7899,36 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 << 8); + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; s.tmp_0 = r0; - r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1); - return leave(s, r0) + r0 = (4 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leaveAccessor(s, r0) default: oops() } } } -Fx_div__P37637.info = {"start":1145,"length":129,"line":35,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"div","argumentNames":["a","b"]} +controller_Controller_down__P2146.info = {"start":4131,"length":77,"line":145,"column":8,"endLine":147,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"down","argumentNames":["this"]} +controller_Controller_down__P2146.isGetter = true; -function Fx_div__P37637_mk(s) { +function controller_Controller_down__P2146_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_div__P37637, depth: s.depth + 1, + parent: s, fn: controller_Controller_down__P2146, 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_add__P37632(s) { +function controller_Controller_button__P4703(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8129,17 +7943,25 @@ switch (step) { s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 + s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C2134_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() } } } -Fx_add__P37632.info = {"start":511,"length":118,"line":20,"column":4,"endLine":22,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"add","argumentNames":["a","b"]} +controller_Controller_button__P4703.info = {"start":6666,"length":105,"line":220,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"button","argumentNames":["this","button"]} -function Fx_add__P37632_mk(s) { +function controller_Controller_button__P4703_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_add__P37632, depth: s.depth + 1, + parent: s, fn: controller_Controller_button__P4703, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, arg0: undefined, arg1: undefined, } } @@ -8148,7 +7970,7 @@ function Fx_add__P37632_mk(s) { -function Sprite_x__P38664(s) { +function controller_Controller_up__P2145(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8163,34 +7985,25 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_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); + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); + r0 = (2 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); return leaveAccessor(s, r0) default: oops() } } } -Sprite_x__P38664.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__P38664.isGetter = true; +controller_Controller_up__P2145.info = {"start":3979,"length":73,"line":137,"column":8,"endLine":139,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"up","argumentNames":["this"]} +controller_Controller_up__P2145.isGetter = true; -function Sprite_x__P38664_mk(s) { +function controller_Controller_up__P2145_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_x__P38664, depth: s.depth + 1, + parent: s, fn: controller_Controller_up__P2145, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, arg0: undefined, } } @@ -8198,7 +8011,7 @@ function Sprite_x__P38664_mk(s) { -function PhysicsEngine_move__P38809(s) { +function controller_Controller_right__P2144(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8210,31 +8023,36 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, PhysicsEngine__C38804_VT)) failedCast(r0); - r0 = undefined; - return leave(s, r0) + if (!checkSubtype(r0, controller_Controller__C2134_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() } } } -PhysicsEngine_move__P38809.info = {"start":351,"length":20,"line":18,"column":4,"endLine":18,"endColumn":24,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]} +controller_Controller_right__P2144.info = {"start":3823,"length":79,"line":129,"column":8,"endLine":131,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"right","argumentNames":["this"]} +controller_Controller_right__P2144.isGetter = true; -function PhysicsEngine_move__P38809_mk(s) { +function controller_Controller_right__P2144_mk(s) { checkStack(s.depth); return { - parent: s, fn: PhysicsEngine_move__P38809, depth: s.depth + 1, + parent: s, fn: controller_Controller_right__P2144, 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 PhysicsEngine_draw__P38808(s) { +function controller_Controller_left__P2143(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8249,72 +8067,25 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, PhysicsEngine__C38804_VT)) failedCast(r0); - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -PhysicsEngine_draw__P38808.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__P38808_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: PhysicsEngine_draw__P38808, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, -} } - - - - - -function controller___update__P38551(s) { -let r0 = s.r0, step = 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___44953 = 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___44953 = (r0); - r0 = pxsim_pxtcore_mkAction(1, controller___update_inline__P44960); + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___44953); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - s.tmp_2 = controller_players__P38520_mk(s); - s.callLocIdx = 194; 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 = 196; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, 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___update__P38551.info = {"start":13733,"length":137,"line":414,"column":4,"endLine":417,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["dt"]} +controller_Controller_left__P2143.info = {"start":3666,"length":77,"line":121,"column":8,"endLine":123,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"left","argumentNames":["this"]} +controller_Controller_left__P2143.isGetter = true; -function controller___update__P38551_mk(s) { +function controller_Controller_left__P2143_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller___update__P38551, depth: s.depth + 1, + parent: s, fn: controller_Controller_left__P2143, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - dtms___44953: undefined, arg0: undefined, } } @@ -8322,7 +8093,7 @@ function controller___update__P38551_mk(s) { -function controller___update_inline__P44960(s) { +function controller_Controller__controlledSprites__P2140(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8334,34 +8105,43 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = controller_Controller___update__P38548_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.caps[0]; - s.callLocIdx = 195; s.pc = 1; return s.tmp_0; + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + s.tmp_1 = game_currentScene__P2998_mk(s); + s.callLocIdx = 161; 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___update_inline__P44960.info = {"start":13835,"length":27,"line":416,"column":26,"endLine":416,"endColumn":53,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} +controller_Controller__controlledSprites__P2140.info = {"start":3300,"length":134,"line":105,"column":8,"endLine":107,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this","cps"]} -function controller___update_inline__P44960_mk(s) { +function controller_Controller__controlledSprites__P2140_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller___update_inline__P44960, depth: s.depth + 1, + parent: s, fn: controller_Controller__controlledSprites__P2140, 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___update__P38548(s) { +function controller_Controller__controlledSprites__P2139(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8373,55 +8153,41 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_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__P44973); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - r0 = s.arg0.fields["buttons"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 193; s.pc = 1; return s.tmp_1; + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + s.tmp_1 = game_currentScene__P2998_mk(s); + s.callLocIdx = 160; s.pc = 1; return s.tmp_1; case 1: r0 = s.retval; - r0 = undefined; - return leave(s, r0) + 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___update__P38548.info = {"start":13211,"length":124,"line":396,"column":8,"endLine":399,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]} +controller_Controller__controlledSprites__P2139.info = {"start":3158,"length":132,"line":101,"column":8,"endLine":103,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this"]} +controller_Controller__controlledSprites__P2139.isGetter = true; -function controller_Controller___update__P38548_mk(s) { +function controller_Controller__controlledSprites__P2139_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller___update__P38548, depth: s.depth + 1, + parent: s, fn: controller_Controller__controlledSprites__P2139, depth: s.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__P44973(s) { +function Fx_imul__P161(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8433,35 +8199,29 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = controller_Button___update__P38571_mk(s); - s.tmp_0.arg0 = s.arg0; - r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); - s.tmp_0.arg1 = r0; - s.callLocIdx = 192; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + r0 = pxsim.Math_.imul(s.arg0, s.arg1); return leave(s, r0) default: oops() } } } -controller_Controller___update_inline__P44973.info = {"start":13298,"length":25,"line":398,"column":33,"endLine":398,"endColumn":58,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["btn"]} +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 controller_Controller___update_inline__P44973_mk(s) { +function Fx_imul__P161_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller___update_inline__P44973, depth: s.depth + 1, + parent: s, fn: Fx_imul__P161, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, + arg1: undefined, } } -function controller_Button___update__P38571(s) { +function power_checkDeepSleep__P1930(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8471,105 +8231,77 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.delay___44989 = undefined; - s.interval___44999 = undefined; - s.count___45013 = 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__C38558_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); + s.p___7849 = undefined; + s.to___7852 = undefined; + s.tmp_0 = power_init__P4547_mk(s); + s.callLocIdx = 76; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = r0 = globals._poked___4545; + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - { step = 11; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: + r0 = 0; 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"]; + // jmp value (already in r0) s.tmp_1 = r0; - r0 = (s.tmp_1 === undefined); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + s.p___7849 = (s.tmp_1); + s.tmp_0 = r0 = globals._timeout___4546; + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 3; continue; } - r0 = globals.defaultRepeatDelay___38584; + r0 = s.tmp_0; { step = 4; continue; } case 3: - r0 = s.arg0.fields["repeatDelay"]; + r0 = 0; case 4: // jmp value (already in r0) - s.tmp_2 = r0; - s.delay___44989 = (s.tmp_2); - r0 = s.arg0.fields["repeatInterval"]; s.tmp_1 = r0; - r0 = (s.tmp_1 === undefined); + s.to___7852 = (s.tmp_1); + r0 = (s.to___7852 > 0); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - r0 = globals.defaultRepeatInterval___38586; + 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["repeatInterval"]; - case 6: - // jmp value (already in r0) + r0 = pxsim.control.millis(); s.tmp_2 = r0; - s.interval___44999 = (s.tmp_2); - r0 = s.arg0.fields["_pressedElasped"]; + r0 = (s.tmp_2 - s.p___7849); s.tmp_1 = r0; - r0 = (s.tmp_1 < s.delay___44989); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - { step = 11; continue; } + r0 = (s.tmp_1 > s.to___7852); + 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: - case 8: - r0 = s.arg0.fields["_pressedElasped"]; + r0 = pxsim.control.isUSBInitialized(); s.tmp_5 = r0; - r0 = (s.tmp_5 - s.delay___44989); + r0 = pxsim_numops_toBoolDecr(s.tmp_5); s.tmp_4 = r0; - r0 = (s.tmp_4 - s.interval___44999); - s.tmp_3 = r0; - r0 = (s.tmp_3 / s.interval___44999); - s.tmp_2 = r0; - r0 = pxsim.Math_.floor(s.tmp_2); - s.count___45013 = (r0); - r0 = s.arg0.fields["_repeatCount"]; - s.tmp_1 = r0; - r0 = (s.count___45013 != s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + 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; } - s.tmp_2 = controller_Button_raiseButtonRepeat__P38563_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 208; s.pc = 12; return s.tmp_2; - case 12: - r0 = s.retval; - r0 = (s.arg0).fields["_repeatCount"] = (s.count___45013); + r0 = pxsim_pxtcore.deepSleep(); case 9: case 10: - case 11: r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Button___update__P38571.info = {"start":7291,"length":704,"line":217,"column":8,"endLine":234,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"__update","argumentNames":["this","dtms"]} +power_checkDeepSleep__P1930.info = {"start":1087,"length":298,"line":36,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"checkDeepSleep","argumentNames":[]} -function controller_Button___update__P38571_mk(s) { +function power_checkDeepSleep__P1930_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button___update__P38571, depth: s.depth + 1, + parent: s, fn: power_checkDeepSleep__P1930, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -8577,18 +8309,16 @@ function controller_Button___update__P38571_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - delay___44989: undefined, - interval___44999: undefined, - count___45013: undefined, - arg0: undefined, - arg1: undefined, + tmp_6: undefined, + p___7849: undefined, + to___7852: undefined, } } -function controller_Button_raiseButtonRepeat__P38563(s) { +function power_init__P4547(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8598,43 +8328,54 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Button__C38558_VT)) failedCast(r0); - r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___38582); - if (!r0) { step = 1; continue; } - r0 = s.arg0.fields["id"]; + r0 = (globals._timeout___4546 !== undefined); s.tmp_0 = r0; - r0 = pxsim.control.raiseEvent(2054, s.tmp_0); - { step = 2; continue; } + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } case 1: - r0 = s.arg0.fields["id"]; - s.tmp_0 = r0; - r0 = pxsim.control.raiseEvent(2055, s.tmp_0); case 2: + r0 = pxsim_pxtcore.getConfig(212, -1); + s.tmp_1 = r0; + r0 = (s.tmp_1 * 1000); + globals._timeout___4546 = (r0); + r0 = (globals._timeout___4546 > 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___4546 < 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___4546 = (300000); + case 5: + case 6: + case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Button_raiseButtonRepeat__P38563.info = {"start":3303,"length":211,"line":110,"column":8,"endLine":115,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonRepeat","argumentNames":["this"]} +power_init__P4547.info = {"start":1610,"length":376,"line":57,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"init","argumentNames":[]} -function controller_Button_raiseButtonRepeat__P38563_mk(s) { +function power_init__P4547_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_raiseButtonRepeat__P38563, depth: s.depth + 1, + parent: s, fn: power_init__P4547, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, } } -function controller_players__P38520(s) { +function power_poke__P1929(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8644,25 +8385,22 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = controller__player1__P38519_mk(s); - s.callLocIdx = 153; s.pc = 1; return s.tmp_0; + s.tmp_0 = power_init__P4547_mk(s); + s.callLocIdx = 75; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - s.tmp_0 = helpers_arrayFilter__P37575_mk(s); - s.tmp_0.arg0 = globals._players___38438; - s.tmp_0.arg1 = controller_players_inline__P44943; - s.callLocIdx = 154; s.pc = 2; return s.tmp_0; - case 2: - r0 = s.retval; + r0 = pxsim.control.millis(); + globals._poked___4545 = (r0); + r0 = undefined; return leave(s, r0) default: oops() } } } -controller_players__P38520.info = {"start":1645,"length":144,"line":53,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"players","argumentNames":[]} +power_poke__P1929.info = {"start":795,"length":81,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"poke","argumentNames":[]} -function controller_players__P38520_mk(s) { +function power_poke__P1929_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_players__P38520, depth: s.depth + 1, + parent: s, fn: power_poke__P1929, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, } } @@ -8671,7 +8409,7 @@ function controller_players__P38520_mk(s) { -function controller_players_inline__P44943(s) { +function control_EventContext_registerFrameHandler__P403(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8681,38 +8419,105 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.fn___9489 = undefined; + s.i___9498 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(s.arg0); + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + r0 = s.arg0.fields["frameCallbacks"]; s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); + r0 = pxsim_numops_toBoolDecr(s.tmp_2); s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_Boolean__bang(s.tmp_0); + 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__P4420_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 51; 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___9489 = (r0); + r0 = (s.fn___9489).fields["order"] = (s.arg1); + r0 = (s.fn___9489).fields["handler"] = (s.arg2); + s.i___9498 = (0); + case 3: + s.tmp_1 = r0 = s.i___9498; + 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___9498); + 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___9498, s.fn___9489); + r0 = s.fn___9489; + { step = 7; continue; } + case 4: + case 5: + r0 = (s.i___9498 + 1); + s.i___9498 = (r0); + { step = 3; continue; } + case 6: + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.fn___9489); + r0 = s.fn___9489; + case 7: return leave(s, r0) default: oops() } } } -controller_players_inline__P44943.info = {"start":1767,"length":14,"line":55,"column":31,"endLine":55,"endColumn":45,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} +control_EventContext_registerFrameHandler__P403.info = {"start":4862,"length":643,"line":147,"column":8,"endLine":164,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameHandler","argumentNames":["this","order","handler"]} -function controller_players_inline__P44943_mk(s) { +function control_EventContext_registerFrameHandler__P403_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_players_inline__P44943, depth: s.depth + 1, + 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___9489: undefined, + i___9498: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function helpers_arrayFilter__P37575(s) { +function control_EventContext_registerFrameCallbacks__P4420(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8722,71 +8527,55 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.res___44860 = undefined; - s.len___44862 = undefined; - s.i___44865 = undefined; - s.v___44870 = undefined; + s.worker___9532 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_Array__mk(); - s.res___44860 = (r0); - r0 = pxsim_Array__length(s.arg0); - s.len___44862 = (r0); - s.i___44865 = (0); - case 1: - r0 = (s.i___44865 < s.len___44862); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - r0 = pxsim_Array__getAt(s.arg0, s.i___44865); - s.v___44870 = (r0); - s.tmp_1 = lambda_3_mk(s); - s.tmp_1.argL = s.arg1; - s.tmp_1.arg0 = s.v___44870; - s.tmp_1.arg1 = s.i___44865; - setupLambda(s.tmp_1, s.tmp_1.argL); - s.callLocIdx = 7; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; + 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 = 2; continue; } - r0 = pxsim_Array__push(s.res___44860, s.v___44870); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: case 2: + r0 = s.arg0.fields["frameWorker"]; + s.worker___9532 = (r0); + r0 = pxsim_pxtcore_mkAction(2, control_EventContext_registerFrameCallbacks_inline__P9538); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.worker___9532); + r0 = pxsim.control.runInParallel(s.tmp_0); case 3: - r0 = (s.i___44865 + 1); - s.i___44865 = (r0); - { step = 1; continue; } - case 4: - r0 = s.res___44860; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arrayFilter__P37575.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"]} +control_EventContext_registerFrameCallbacks__P4420.info = {"start":3668,"length":895,"line":109,"column":8,"endLine":133,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameCallbacks","argumentNames":["this"]} -function helpers_arrayFilter__P37575_mk(s) { +function control_EventContext_registerFrameCallbacks__P4420_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayFilter__P37575, depth: s.depth + 1, + parent: s, fn: control_EventContext_registerFrameCallbacks__P4420, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - res___44860: undefined, - len___44862: undefined, - i___44865: undefined, - v___44870: undefined, + tmp_2: undefined, + worker___9532: undefined, arg0: undefined, - arg1: undefined, } } -function controller__moveSprites__P38523(s) { +function control_EventContext_registerFrameCallbacks_inline__P9538(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8796,36 +8585,73 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = helpers_arrayForEach__P37574_mk(s); - s.tmp_1 = controller_players__P38520_mk(s); - s.callLocIdx = 155; s.pc = 2; return s.tmp_1; - case 2: + s.delay___9568 = 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__P9544); + 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 = 45; s.pc = 5; return s.tmp_2; + case 5: r0 = s.retval; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = controller__moveSprites_inline__P44705; - s.callLocIdx = 157; s.pc = 1; return s.tmp_0; 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__P4419_mk(s); + s.tmp_2.arg0 = s.caps[0]; + s.callLocIdx = 46; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.delay___9568 = (r0); + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = s.delay___9568; + s.callLocIdx = 47; 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() } } } -controller__moveSprites__P38523.info = {"start":2005,"length":180,"line":67,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_moveSprites","argumentNames":[]} +control_EventContext_registerFrameCallbacks_inline__P9538.info = {"start":3829,"length":723,"line":113,"column":34,"endLine":132,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} -function controller__moveSprites__P38523_mk(s) { +function control_EventContext_registerFrameCallbacks_inline__P9538_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller__moveSprites__P38523, depth: s.depth + 1, + parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P9538, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, + tmp_2: undefined, + delay___9568: undefined, } } -function controller__moveSprites_inline__P44705(s) { +function control_EventContext_registerFrameCallbacks_inline__P9544(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8835,35 +8661,30 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - s.tmp_0 = controller_Controller___preUpdate__P38547_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 156; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + 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() } } } -controller__moveSprites_inline__P44705.info = {"start":2151,"length":26,"line":70,"column":26,"endLine":70,"endColumn":52,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} +control_EventContext_registerFrameCallbacks_inline__P9544.info = {"start":4060,"length":28,"line":117,"column":31,"endLine":117,"endColumn":59,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} -function controller__moveSprites_inline__P44705_mk(s) { +function control_EventContext_registerFrameCallbacks_inline__P9544_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller__moveSprites_inline__P44705, depth: s.depth + 1, + parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P9544, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, } } -function controller_Controller___preUpdate__P38547(s) { +function control_EventContext_runCallbacks__P4419(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -8873,308 +8694,255 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.deadSprites___44712 = undefined; - s.svx___44713 = undefined; - s.svy___44714 = undefined; - s.svxInCricle___44749 = undefined; - s.svyInCircle___44751 = undefined; - s.sq___44753 = undefined; - s.scale___44768 = undefined; + s.loopStart___9577 = undefined; + s.f___9590 = undefined; + s.unnamed54___U2 = undefined; + s.unnamed55___U3 = undefined; + s.now___9595 = undefined; + s.runtime___9598 = undefined; + s.realTimeInSample___9617 = undefined; + s.fps___9626 = undefined; + s.delay___9695 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - s.tmp_3 = controller_Controller__controlledSprites__P38525_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 167; s.pc = 18; return s.tmp_3; - case 18: - r0 = s.retval; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + r0 = pxsim.control.millis(); + s.loopStart___9577 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["prevTimeMillis"]; s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); + r0 = (s.loopStart___9577 - 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; } + r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1); + r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___9577); + s.f___9590 = (undefined); + r0 = s.arg0.fields["frameCallbacks"]; + s.unnamed54___U2 = (r0); + s.unnamed55___U3 = (0); case 1: - case 2: - r0 = pxsim_pxtrt.mklocRef(); - s.deadSprites___44712 = (r0); - r0 = pxsim_pxtrt_stlocRef(s.deadSprites___44712, false); - r0 = pxsim_pxtrt.mklocRef(); - s.svx___44713 = (r0); - r0 = pxsim_pxtrt_stlocRef(s.svx___44713, 0); - r0 = pxsim_pxtrt.mklocRef(); - s.svy___44714 = (r0); - r0 = pxsim_pxtrt_stlocRef(s.svy___44714, 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___44713; - s.tmp_5 = controller_Button_pressureLevel__P38569_mk(s); - s.tmp_6 = controller_Controller_right__P38529_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 168; s.pc = 20; return s.tmp_6; - case 20: - r0 = s.retval; - s.tmp_5.arg0 = r0; - s.callLocIdx = 169; s.pc = 19; return s.tmp_5; - case 19: - r0 = s.retval; - s.tmp_4 = r0; - s.tmp_8 = controller_Button_pressureLevel__P38569_mk(s); - s.tmp_9 = controller_Controller_left__P38528_mk(s); - s.tmp_9.arg0 = s.arg0; - s.callLocIdx = 170; s.pc = 22; return s.tmp_9; - case 22: - r0 = s.retval; - s.tmp_8.arg0 = r0; - s.callLocIdx = 171; s.pc = 21; return s.tmp_8; - case 21: + 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___9590 = (r0); + s.tmp_2 = if_handler_1_mk(s); + s.tmp_2.arg0 = s.f___9590; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "handler"), 1); + s.callLocIdx = 43; s.pc = 11; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["handler"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["handler"], 1); s.callLocIdx = 43; s.pc = 11; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 43; s.pc = 11; return s.tmp_2;; } + else { s.callLocIdx = 43; s.pc = 11; return s.tmp_2; } + } + case 11: r0 = s.retval; - s.tmp_7 = r0; - r0 = (s.tmp_4 - s.tmp_7); - s.tmp_3 = r0; - r0 = (s.tmp_3 >> 1); + r0 = (s.unnamed55___U3 + 1); + s.unnamed55___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed54___U2 = (undefined); + r0 = pxsim.control.millis(); + s.now___9595 = (r0); + r0 = (s.now___9595 - s.loopStart___9577); + s.runtime___9598 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["timeInSample"]; s.tmp_2 = r0; - r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2); - s.tmp_0 = r0 = s.svy___44714; - s.tmp_4 = controller_Button_pressureLevel__P38569_mk(s); - s.tmp_5 = controller_Controller_down__P38531_mk(s); - s.tmp_5.arg0 = s.arg0; - s.callLocIdx = 172; s.pc = 24; return s.tmp_5; - case 24: - r0 = s.retval; - s.tmp_4.arg0 = r0; - s.callLocIdx = 173; s.pc = 23; return s.tmp_4; - case 23: - r0 = s.retval; - s.tmp_3 = r0; - s.tmp_7 = controller_Button_pressureLevel__P38569_mk(s); - s.tmp_8 = controller_Controller_up__P38530_mk(s); - s.tmp_8.arg0 = s.arg0; - s.callLocIdx = 174; s.pc = 26; return s.tmp_8; - case 26: - r0 = s.retval; - s.tmp_7.arg0 = r0; - s.callLocIdx = 175; s.pc = 25; return s.tmp_7; - case 25: - r0 = s.retval; - s.tmp_6 = r0; - r0 = (s.tmp_3 - s.tmp_6); + r0 = (s.tmp_2 + s.runtime___9598); + 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); + 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__C38558_v0_1_mk(s); - s.tmp_2 = controller_Controller_right__P38529_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 176; 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__C38558_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; + 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_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - r0 = 256; - { step = 5; continue; } + 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: - r0 = 0; - case 5: // jmp value (already in r0) s.tmp_3 = r0; - s.tmp_5 = controller_Button__C38558_v0_1_mk(s); - s.tmp_6 = controller_Controller_left__P38528_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 177; 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__C38558_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; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 9; continue; } + r0 = s.arg0.fields["lastPerfDump"]; 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___44713; - 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__C38558_v0_1_mk(s); - s.tmp_2 = controller_Controller_down__P38531_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 178; 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__C38558_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; + r0 = (s.now___9595 - s.tmp_4); + s.realTimeInSample___9617 = (r0); + r0 = (s.arg0).fields["lastPerfDump"] = (s.now___9595); + r0 = s.arg0.fields["framesInSample"]; 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__C38558_v0_1_mk(s); - s.tmp_6 = controller_Controller_up__P38530_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 179; 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__C38558_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___44714; - 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___44749 = (r0); - s.tmp_0 = r0 = s.svxInCricle___44749; - r0 = pxsim_pxtrt_ldlocRef(s.svx___44713); - s.tmp_1 = r0; - r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); - r0 = pxsim_pxtrt.mklocRef(); - s.svyInCircle___44751 = (r0); - s.tmp_0 = r0 = s.svyInCircle___44751; - r0 = pxsim_pxtrt_ldlocRef(s.svy___44714); + r0 = s.arg0.fields["timeInSample"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 1000); s.tmp_1 = r0; - r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); - r0 = pxsim_pxtrt_ldlocRef(s.svx___44713); + r0 = (s.tmp_0 / s.tmp_1); + s.fps___9626 = (r0); + r0 = pxsim.Math_.round(s.fps___9626); s.tmp_1 = r0; - r0 = pxsim_pxtrt_ldlocRef(s.svx___44713); - s.tmp_2 = r0; - r0 = (s.tmp_1 * s.tmp_2); + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 12); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 12: + r0 = s.retval; s.tmp_0 = r0; - r0 = pxsim_pxtrt_ldlocRef(s.svy___44714); - s.tmp_4 = r0; - r0 = pxsim_pxtrt_ldlocRef(s.svy___44714); - s.tmp_5 = r0; - r0 = (s.tmp_4 * s.tmp_5); - s.tmp_3 = r0; - r0 = (s.tmp_0 + s.tmp_3); - s.sq___44753 = (r0); - r0 = (s.sq___44753 > 65536); + r0 = pxsim_String__concat("fps:", s.tmp_0); + globals.control_EventContext_lastStats___397 = (r0); + r0 = (s.fps___9626 < 99); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 13; continue; } - r0 = (65536 / s.sq___44753); - s.tmp_1 = r0; - r0 = pxsim.Math_.sqrt(s.tmp_1); - s.scale___44768 = (r0); - s.tmp_0 = r0 = s.svxInCricle___44749; - s.tmp_3 = r0 = s.scale___44768; - r0 = pxsim_pxtrt_ldlocRef(s.svx___44713); - 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___44751; - s.tmp_3 = r0 = s.scale___44768; - r0 = pxsim_pxtrt_ldlocRef(s.svy___44714); - 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); + if (!r0) { step = 5; continue; } + if ((globals.control_EventContext_lastStats___397) && (globals.control_EventContext_lastStats___397).vtable) { + setupResume(s, 13); + pxsim_String__stringConv(globals.control_EventContext_lastStats___397); + checkResumeConsumed(); + return; + } else { s.retval = (globals.control_EventContext_lastStats___397) + ""; } case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.fps___9626 * 10); + s.tmp_7 = r0; + r0 = pxsim.Math_.round(s.tmp_7); + s.tmp_6 = r0; + r0 = (s.tmp_6 % 10); + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 14); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } case 14: - r0 = pxsim_pxtcore_mkAction(5, controller_Controller___preUpdate_inline__P44786); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___44712); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___44713); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___44714); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.svxInCricle___44749); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.svyInCircle___44751); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - s.tmp_2 = controller_Controller__controlledSprites__P38525_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 180; 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 = 188; s.pc = 35; return s.tmp_1; - case 35: + s.tmp_4 = r0; + r0 = pxsim_String__concat(".", s.tmp_4); + s.tmp_3 = r0; + if ((s.tmp_3) && (s.tmp_3).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 15: r0 = s.retval; - r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___44712); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + globals.control_EventContext_lastStats___397 = (r0); + case 5: + case 6: + r0 = pxsim.control.profilingEnabled(); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 15; continue; } - s.tmp_1 = controller_Controller__controlledSprites__P38526_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_2 = helpers_arrayFilter__P37575_mk(s); - s.tmp_3 = controller_Controller__controlledSprites__P38525_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 189; s.pc = 39; return s.tmp_3; - case 39: + if (!r0) { step = 7; continue; } + r0 = pxsim_String_.mkEmpty(); + s.tmp_9 = r0; + r0 = (s.fps___9626 * 100); + s.tmp_12 = r0; + r0 = (s.tmp_12 | 0); + s.tmp_11 = r0; + if ((s.tmp_11) && (s.tmp_11).vtable) { + setupResume(s, 16); + pxsim_String__stringConv(s.tmp_11); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_11) + ""; } + case 16: r0 = s.retval; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = controller_Controller___preUpdate_inline__P44848; - s.callLocIdx = 190; s.pc = 38; return s.tmp_2; - case 38: + s.tmp_10 = r0; + r0 = pxsim_String__concat(s.tmp_9, s.tmp_10); + s.tmp_8 = r0; + r0 = pxsim_String__concat(s.tmp_8, "/100 fps - "); + s.tmp_7 = r0; + r0 = s.arg0.fields["framesInSample"]; + s.tmp_14 = r0; + if ((s.tmp_14) && (s.tmp_14).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.tmp_14); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_14) + ""; } + case 17: r0 = s.retval; - s.tmp_1.arg1 = r0; - s.callLocIdx = 191; s.pc = 37; return s.tmp_1; - case 37: + s.tmp_13 = r0; + r0 = pxsim_String__concat(s.tmp_7, s.tmp_13); + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_6, " frames ("); + s.tmp_5 = r0; + r0 = s.arg0.fields["timeInSample"]; + s.tmp_16 = r0; + if ((s.tmp_16) && (s.tmp_16).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.tmp_16); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_16) + ""; } + case 18: r0 = s.retval; - case 15: - case 16: - case 17: - r0 = undefined; + s.tmp_15 = r0; + r0 = pxsim_String__concat(s.tmp_5, s.tmp_15); + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_4, "ms/"); + s.tmp_3 = r0; + if ((s.realTimeInSample___9617) && (s.realTimeInSample___9617).vtable) { + setupResume(s, 19); + pxsim_String__stringConv(s.realTimeInSample___9617); + checkResumeConsumed(); + return; + } else { s.retval = (s.realTimeInSample___9617) + ""; } + case 19: + r0 = s.retval; + s.tmp_17 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_17); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, "ms)"); + s.tmp_1 = r0; + r0 = pxsim.control.dmesg(s.tmp_1); + r0 = pxsim.control.gc(); + r0 = pxsim_pxtcore.dumpPerfCounters(); + case 7: + case 8: + r0 = (s.arg0).fields["timeInSample"] = (0); + r0 = (s.arg0).fields["framesInSample"] = (0); + case 9: + case 10: + s.tmp_0 = Math_max__P130_mk(s); + s.tmp_0.arg0 = 1; + r0 = (20 - s.runtime___9598); + s.tmp_0.arg1 = r0; + s.callLocIdx = 44; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + s.delay___9695 = (r0); + r0 = s.delay___9695; return leave(s, r0) default: oops() } } } -controller_Controller___preUpdate__P38547.info = {"start":10666,"length":2535,"line":330,"column":8,"endLine":394,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__preUpdate","argumentNames":["this"]} +control_EventContext_runCallbacks__P4419.info = {"start":2220,"length":1395,"line":75,"column":8,"endLine":106,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"runCallbacks","argumentNames":["this"]} -function controller_Controller___preUpdate__P38547_mk(s) { +function control_EventContext_runCallbacks__P4419_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller___preUpdate__P38547, depth: s.depth + 1, + parent: s, fn: control_EventContext_runCallbacks__P4419, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -9186,13 +8954,23 @@ function controller_Controller___preUpdate__P38547_mk(s) { tmp_7: undefined, tmp_8: undefined, tmp_9: undefined, - deadSprites___44712: undefined, - svx___44713: undefined, - svy___44714: undefined, - svxInCricle___44749: undefined, - svyInCircle___44751: undefined, - sq___44753: undefined, - scale___44768: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + loopStart___9577: undefined, + f___9590: undefined, + unnamed54___U2: undefined, + unnamed55___U3: undefined, + now___9595: undefined, + runtime___9598: undefined, + realTimeInSample___9617: undefined, + fps___9626: undefined, + delay___9695: undefined, arg0: undefined, } } @@ -9200,7 +8978,7 @@ function controller_Controller___preUpdate__P38547_mk(s) { -function controller_Controller___preUpdate_inline__P44786(s) { +function pauseUntil__P367(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9210,156 +8988,61 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.s___44789 = undefined; - s.vx___44790 = undefined; - s.vy___44791 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); 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 = 181; s.pc = 22; return s.tmp_0; } - } - case 22: - r0 = s.retval; - s.s___44789 = (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 = 182; s.pc = 23; return s.tmp_2; } - } - case 23: - r0 = s.retval; - s.vx___44790 = (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 = 183; s.pc = 24; return s.tmp_3; } - } - case 24: - r0 = s.retval; - s.vy___44791 = (r0); - r0 = s.s___44789.fields["flags"]; + r0 = pxsim_numops_toBoolDecr(s.arg0); s.tmp_1 = r0; - r0 = (s.tmp_1 & 2); + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = pxsim_pxtrt_stlocRef(s.caps[0], true); - { step = 21; 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 = 30; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; 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___44790); + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 3; continue; } - r0 = (s.s___44789).fields["_vx"] = (0); + { step = 7; continue; } case 3: case 4: - r0 = pxsim_numops_toBoolDecr(s.vy___44791); + 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; } - r0 = (s.s___44789).fields["_vy"] = (0); + s.arg1 = (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; } + 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 = 31; s.pc = 9; return s.tmp_0; 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___44790; - r0 = pxsim_numops_toBool(s.tmp_2); - if (r0) { step = 11; continue; } - r0 = s.tmp_2; - { step = 12; continue; } - case 11: - r0 = s.vy___44791; - 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___44789; - r0 = pxsim_pxtrt_ldlocRef(s.caps[3]); - s.tmp_6 = r0; - r0 = pxsim.Math_.imul(s.tmp_6, s.vx___44790); - s.tmp_5 = r0; - r0 = (s.tmp_4).fields["_vx"] = (s.tmp_5); - s.tmp_0 = r0 = s.s___44789; - r0 = pxsim_pxtrt_ldlocRef(s.caps[4]); - s.tmp_2 = r0; - r0 = pxsim.Math_.imul(s.tmp_2, s.vy___44791); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); - { step = 18; continue; } - case 13: - r0 = pxsim_numops_toBoolDecr(s.vx___44790); - if (!r0) { step = 14; continue; } - s.tmp_0 = r0 = s.s___44789; - r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); - s.tmp_2 = r0; - r0 = pxsim.Math_.imul(s.tmp_2, s.vx___44790); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); - { step = 17; continue; } - case 14: - r0 = pxsim_numops_toBoolDecr(s.vy___44791); - if (!r0) { step = 15; continue; } - s.tmp_0 = r0 = s.s___44789; - r0 = pxsim_pxtrt_ldlocRef(s.caps[2]); - s.tmp_2 = r0; - r0 = pxsim.Math_.imul(s.tmp_2, s.vy___44791); - 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 = s.retval; + case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Controller___preUpdate_inline__P44786.info = {"start":11849,"length":1171,"line":361,"column":44,"endLine":389,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["controlledSprite"]} +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 controller_Controller___preUpdate_inline__P44786_mk(s) { +function pauseUntil__P367_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller___preUpdate_inline__P44786, depth: s.depth + 1, + 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, @@ -9367,18 +9050,15 @@ function controller_Controller___preUpdate_inline__P44786_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - tmp_6: undefined, - s___44789: undefined, - vx___44790: undefined, - vy___44791: undefined, arg0: undefined, + arg1: undefined, } } -function controller_Controller___preUpdate_inline__P44848(s) { +function control___queuePollEvent__P366(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9388,39 +9068,97 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.ev___9717 = 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.fields["s"]; - r0 = r0.fields["flags"]; + r0 = pxsim_pxtcore_mkClassInstance(control_PollEvent__C4393_VT); + s.tmp_0 = r0; + s.tmp_1 = control_PollEvent_constructor__P4394_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 = (s.tmp_2 & 2); + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1.arg6 = r0; + s.callLocIdx = 28; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.ev___9717 = (s.tmp_0); + r0 = pxsim_numops_toBoolDecr(globals._pollEventQueue___4396); s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_Boolean__bang(s.tmp_0); + 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___9717); + globals._pollEventQueue___4396 = (s.tmp_2); + r0 = pxsim.control.runInParallel(control_pollEvents__P4397); + { step = 2; continue; } + case 1: + r0 = pxsim_Array__push(globals._pollEventQueue___4396, s.ev___9717); + case 2: + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 3; continue; } + s.tmp_0 = control_onEvent__P391_mk(s); + r0 = s.ev___9717.fields["eid"]; + s.tmp_0.arg0 = r0; + r0 = s.ev___9717.fields["vid"]; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = 16; + s.callLocIdx = 29; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + r0 = s.ev___9717.fields["eid"]; + s.tmp_0 = r0; + r0 = s.ev___9717.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() } } } -controller_Controller___preUpdate_inline__P44848.info = {"start":13147,"length":42,"line":393,"column":28,"endLine":393,"endColumn":70,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["s"]} +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 controller_Controller___preUpdate_inline__P44848_mk(s) { +function control___queuePollEvent__P366_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller___preUpdate_inline__P44848, depth: s.depth + 1, + 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___9717: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function controller_Button_pressureLevel__P38569(s) { +function control_pollEvents__P4397(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9430,55 +9168,117 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Button__C38558_VT)) failedCast(r0); - r0 = pxsim.control.deviceDalVersion(); + s.now___9760 = undefined; + s.i___9763 = undefined; + s.ev___9769 = undefined; + case 1: + r0 = pxsim_Array__length(globals._pollEventQueue___4396); s.tmp_1 = r0; - r0 = (s.tmp_1 == "sim"); + r0 = (s.tmp_1 > 0); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 3; continue; } - s.tmp_3 = controller_Button__C38558_v0_1_mk(s); - s.tmp_3.arg0 = s.arg0; - if (!checkSubtype(s.tmp_3.arg0, controller_Button__C38558_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; + if (!r0) { step = 12; continue; } + r0 = pxsim.control.millis(); + s.now___9760 = (r0); + s.i___9763 = (0); case 2: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = s.tmp_4; - { step = 5; continue; } - { step = 4; continue; } + s.tmp_1 = r0 = s.i___9763; + r0 = pxsim_Array__length(globals._pollEventQueue___4396); + 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___4396, s.i___9763); + s.ev___9769 = (r0); + s.tmp_1 = if_condition_1_mk(s); + s.tmp_1.arg0 = s.ev___9769; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "condition"), 1); + s.callLocIdx = 25; 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 = 25; s.pc = 13; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 25; s.pc = 13; return s.tmp_1;; } + else { s.callLocIdx = 25; 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.arg0.fields["id"]; - s.tmp_5 = r0; - r0 = pxsim_pxtcore.pressureLevelByButtonId(s.tmp_5, -1); + r0 = s.ev___9769.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 = undefined; + r0 = s.ev___9769.fields["start"]; + s.tmp_5 = r0; + r0 = (s.now___9760 - s.tmp_5); + s.tmp_4 = r0; + r0 = s.ev___9769.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___9769.fields["eid"]; + s.tmp_9 = r0; + r0 = s.ev___9769.fields["vid"]; + s.tmp_10 = r0; + r0 = pxsim.control.raiseEvent(s.tmp_9, s.tmp_10); + r0 = s.ev___9769.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___4396; + s.tmp_1.arg1 = s.i___9763; + s.tmp_1.arg2 = 1; + s.callLocIdx = 26; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + r0 = (s.i___9763 - 1); + s.i___9763 = (r0); + case 7: + case 8: + case 9: + case 10: + r0 = (s.i___9763 + 1); + s.i___9763 = (r0); + { step = 2; continue; } + case 11: + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 50; + s.callLocIdx = 27; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + { step = 1; continue; } + case 12: + globals._pollEventQueue___4396 = (undefined); + r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Button_pressureLevel__P38569.info = {"start":6453,"length":311,"line":192,"column":8,"endLine":199,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"pressureLevel","argumentNames":["this"]} +control_pollEvents__P4397.info = {"start":618,"length":638,"line":20,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/poll.ts","functionName":"pollEvents","argumentNames":[]} -function controller_Button_pressureLevel__P38569_mk(s) { +function control_pollEvents__P4397_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_pressureLevel__P38569, depth: s.depth + 1, + parent: s, fn: control_pollEvents__P4397, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -9486,14 +9286,79 @@ function controller_Button_pressureLevel__P38569_mk(s) { 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___9760: undefined, + i___9763: undefined, + ev___9769: 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___9817 = 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___9817 = (0); + case 3: + r0 = (s.i___9817 < 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___9817 + 1); + s.i___9817 = (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___9817: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function controller_Button_isPressed__P38568(s) { +function control_PollEvent_constructor__P4394(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9505,29 +9370,47 @@ switch (step) { 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, controller_Button__C38558_VT)) failedCast(r0); - r0 = s.arg0.fields["_pressed"]; + if (!checkSubtype(r0, control_PollEvent__C4393_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() } } } -controller_Button_isPressed__P38568.info = {"start":6303,"length":57,"line":185,"column":8,"endLine":187,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"isPressed","argumentNames":["this"]} +control_PollEvent_constructor__P4394.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 controller_Button_isPressed__P38568_mk(s) { +function control_PollEvent_constructor__P4394_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_isPressed__P38568, depth: s.depth + 1, + parent: s, fn: control_PollEvent_constructor__P4394, 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 controller_Controller_down__P38531(s) { +function control_EventContext_deltaTime__P400(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9542,25 +9425,22 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["buttons"]; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + r0 = s.arg0.fields["deltaTimeMillis"]; s.tmp_0 = r0; - r0 = (4 - 1); - s.tmp_1 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + r0 = (s.tmp_0 / 1000); return leaveAccessor(s, r0) default: oops() } } } -controller_Controller_down__P38531.info = {"start":4131,"length":77,"line":145,"column":8,"endLine":147,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"down","argumentNames":["this"]} -controller_Controller_down__P38531.isGetter = true; +control_EventContext_deltaTime__P400.info = {"start":2135,"length":75,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"deltaTime","argumentNames":["this"]} +control_EventContext_deltaTime__P400.isGetter = true; -function controller_Controller_down__P38531_mk(s) { +function control_EventContext_deltaTime__P400_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_down__P38531, depth: s.depth + 1, + parent: s, fn: control_EventContext_deltaTime__P400, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, arg0: undefined, } } @@ -9568,7 +9448,7 @@ function controller_Controller_down__P38531_mk(s) { -function controller_Controller_button__P38538(s) { +function helpers_arrayForEach__P109(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9578,30 +9458,49 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.len___7562 = undefined; + s.i___7565 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["buttons"]; + r0 = pxsim_Array__length(s.arg0); + s.len___7562 = (r0); + s.i___7565 = (0); + case 1: + r0 = (s.i___7565 < s.len___7562); s.tmp_0 = r0; - r0 = (s.arg1 - 1); - s.tmp_1 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + 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___7565); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.i___7565; + 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___7565 + 1); + s.i___7565 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Controller_button__P38538.info = {"start":6666,"length":105,"line":220,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"button","argumentNames":["this","button"]} +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 controller_Controller_button__P38538_mk(s) { +function helpers_arrayForEach__P109_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_button__P38538, depth: s.depth + 1, + 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___7562: undefined, + i___7565: undefined, arg0: undefined, arg1: undefined, } } @@ -9610,7 +9509,7 @@ function controller_Controller_button__P38538_mk(s) { -function controller_Controller_up__P38530(s) { +function scene_Scene_constructor__P2865(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9622,36 +9521,116 @@ switch (step) { 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__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["buttons"]; + if (!checkSubtype(r0, scene_Scene__C2842_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__C2526_VT); s.tmp_0 = r0; - r0 = (2 - 1); + s.tmp_1 = ArcadePhysicsEngine_constructor__P2527_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 500; + s.tmp_1.arg2 = 2; + s.tmp_1.arg3 = 4; + s.callLocIdx = 904; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["physicsEngine"] = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C2780_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_Camera_constructor__P2784_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 905; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + r0 = (s.arg0).fields["camera"] = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C2668_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_Background_constructor__P2672_mk(s); + s.tmp_1.arg0 = s.tmp_0; + r0 = s.arg0.fields["camera"]; + s.tmp_1.arg1 = r0; + s.callLocIdx = 906; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.arg0).fields["background"] = (s.tmp_0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); s.tmp_1 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); - return leaveAccessor(s, 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() } } } -controller_Controller_up__P38530.info = {"start":3979,"length":73,"line":137,"column":8,"endLine":139,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"up","argumentNames":["this"]} -controller_Controller_up__P38530.isGetter = true; +scene_Scene_constructor__P2865.info = {"start":3586,"length":836,"line":106,"column":8,"endLine":125,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","eventContext","previousScene"]} -function controller_Controller_up__P38530_mk(s) { +function scene_Scene_constructor__P2865_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_up__P38530, depth: s.depth + 1, + parent: s, fn: scene_Scene_constructor__P2865, 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_right__P38529(s) { +function scene_Camera_constructor__P2784(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9666,33 +9645,74 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["buttons"]; - s.tmp_0 = r0; - r0 = (3 - 1); + if (!checkSubtype(r0, scene_Camera__C2780_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__P2784.info = {"start":550,"length":156,"line":17,"column":8,"endLine":23,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"inline","argumentNames":["this"]} + +function scene_Camera_constructor__P2784_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_constructor__P2784, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Background_constructor__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.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Background__C2668_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 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); - return leaveAccessor(s, r0) + r0 = (s.tmp_0).fields["_layers"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) default: oops() } } } -controller_Controller_right__P38529.info = {"start":3823,"length":79,"line":129,"column":8,"endLine":131,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"right","argumentNames":["this"]} -controller_Controller_right__P38529.isGetter = true; +scene_Background_constructor__P2672.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 controller_Controller_right__P38529_mk(s) { +function scene_Background_constructor__P2672_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_right__P38529, depth: s.depth + 1, + parent: s, fn: scene_Background_constructor__P2672, 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_left__P38528(s) { +function ArcadePhysicsEngine_constructor__P2527(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9704,36 +9724,68 @@ switch (step) { 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__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["buttons"]; - s.tmp_0 = r0; - r0 = (1 - 1); + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = undefined; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); s.tmp_1 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); - return leaveAccessor(s, r0) + r0 = (s.tmp_0).fields["sprites"] = (s.tmp_1); + r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C2445_VT); + s.tmp_0 = r0; + s.tmp_1 = sprites_SpriteMap_constructor__P2446_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 525; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["map"] = (s.tmp_0); + s.tmp_0 = ArcadePhysicsEngine_maxSpeed__P2529_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 526; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = ArcadePhysicsEngine_maxStep__P2533_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg3; + s.callLocIdx = 527; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = ArcadePhysicsEngine_minStep__P2531_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 528; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) default: oops() } } } -controller_Controller_left__P38528.info = {"start":3666,"length":77,"line":121,"column":8,"endLine":123,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"left","argumentNames":["this"]} -controller_Controller_left__P38528.isGetter = true; +ArcadePhysicsEngine_constructor__P2527.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 controller_Controller_left__P38528_mk(s) { +function ArcadePhysicsEngine_constructor__P2527_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_left__P38528, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_constructor__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, + arg3: undefined, } } -function controller_Controller__controlledSprites__P38526(s) { +function ArcadePhysicsEngine_maxStep__P2533(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9749,26 +9801,23 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 161; 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"]; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); s.tmp_2 = r0; - r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_2, s.arg1); + 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() } } } -controller_Controller__controlledSprites__P38526.info = {"start":3300,"length":134,"line":105,"column":8,"endLine":107,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this","cps"]} +ArcadePhysicsEngine_maxStep__P2533.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 controller_Controller__controlledSprites__P38526_mk(s) { +function ArcadePhysicsEngine_maxStep__P2533_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller__controlledSprites__P38526, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_maxStep__P2533, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -9781,7 +9830,7 @@ function controller_Controller__controlledSprites__P38526_mk(s) { -function controller_Controller__controlledSprites__P38525(s) { +function ArcadePhysicsEngine_maxStep__P2532(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9796,30 +9845,25 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 160; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - r0 = r0.fields["controlledSprites"]; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = s.arg0.fields["maxSingleStep"]; s.tmp_0 = r0; - r0 = s.arg0.fields["playerIndex"]; - s.tmp_2 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2); + r0 = (s.tmp_0 + 128); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); return leaveAccessor(s, r0) default: oops() } } } -controller_Controller__controlledSprites__P38525.info = {"start":3158,"length":132,"line":101,"column":8,"endLine":103,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this"]} -controller_Controller__controlledSprites__P38525.isGetter = true; +ArcadePhysicsEngine_maxStep__P2532.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__P2532.isGetter = true; -function controller_Controller__controlledSprites__P38525_mk(s) { +function ArcadePhysicsEngine_maxStep__P2532_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller__controlledSprites__P38525, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_maxStep__P2532, 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, } } @@ -9827,7 +9871,7 @@ function controller_Controller__controlledSprites__P38525_mk(s) { -function Fx_imul__P37636(s) { +function Fx_toInt__P172(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9839,29 +9883,30 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim.Math_.imul(s.arg0, s.arg1); + r0 = (s.arg0 + 128); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 8); return leave(s, r0) default: oops() } } } -Fx_imul__P37636.info = {"start":1010,"length":130,"line":32,"column":4,"endLine":34,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"imul","argumentNames":["a","b"]} +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_imul__P37636_mk(s) { +function Fx_toInt__P172_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_imul__P37636, depth: s.depth + 1, + 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, - arg1: undefined, } } -function scene_Scene_render__P38452(s) { +function ArcadePhysicsEngine_minStep__P2531(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -9871,147 +9916,42 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.s___44081 = undefined; - s.unnamed272___U1 = undefined; - s.unnamed273___U2 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Scene__C38446_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__P38452_mk(s); - r0 = s.arg0.fields["previousScene"]; - s.tmp_3.arg0 = r0; - s.callLocIdx = 930; s.pc = 12; return s.tmp_3; - case 12: - r0 = s.retval; - { step = 6; continue; } - case 5: - s.tmp_0 = scene_Background_draw__P39042_mk(s); - r0 = s.arg0.fields["background"]; - s.tmp_0.arg0 = r0; - s.callLocIdx = 931; s.pc = 13; return s.tmp_0; - case 13: - r0 = s.retval; - case 6: - r0 = s.arg0.fields["flags"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 & 1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - s.tmp_2 = helpers_arraySort__P37570_mk(s); - r0 = s.arg0.fields["allSprites"]; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = scene_Scene_render_inline__P44056; - s.callLocIdx = 936; s.pc = 14; return s.tmp_2; - case 14: - r0 = s.retval; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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); - case 7: - case 8: - s.s___44081 = (undefined); - r0 = s.arg0.fields["allSprites"]; - s.unnamed272___U1 = (r0); - s.unnamed273___U2 = (0); - case 9: - s.tmp_0 = r0 = s.unnamed273___U2; - r0 = pxsim_Array__length(s.unnamed272___U1); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 10; continue; } - r0 = pxsim_Array__getAt(s.unnamed272___U1, s.unnamed273___U2); - s.s___44081 = (r0); - s.tmp_2 = if___draw_2_mk(s); - s.tmp_2.arg0 = s.s___44081; - r0 = s.arg0.fields["camera"]; - s.tmp_2.arg1 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__draw"), 2); - s.callLocIdx = 937; s.pc = 15; return s.tmp_2; - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__draw"]; - if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["__draw"], 2); s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } - else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 937; s.pc = 15; return s.tmp_2;; } - else { s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } - } - case 15: - r0 = s.retval; - r0 = (s.unnamed273___U2 + 1); - s.unnamed273___U2 = (r0); - { step = 9; continue; } - case 10: - s.unnamed272___U1 = (undefined); - s.tmp_0 = r0 = s.arg0; - r0 = s.tmp_0.fields["flags"]; + r0 = (s.arg1 * 256); s.tmp_2 = r0; - r0 = (s.tmp_2 & -5); + r0 = (s.tmp_2 | 0); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); - case 11: + r0 = (s.tmp_0).fields["minSingleStep"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Scene_render__P38452.info = {"start":8203,"length":917,"line":228,"column":8,"endLine":252,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"render","argumentNames":["this"]} +ArcadePhysicsEngine_minStep__P2531.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 scene_Scene_render__P38452_mk(s) { +function ArcadePhysicsEngine_minStep__P2531_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_render__P38452, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_minStep__P2531, depth: s.depth + 1, pc: 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___44081: undefined, - unnamed272___U1: undefined, - unnamed273___U2: undefined, arg0: undefined, + arg1: undefined, } } -function scene_Scene_render_inline__P44056(s) { +function ArcadePhysicsEngine_minStep__P2530(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10023,102 +9963,36 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_2 = if_z_1_mk(s); - s.tmp_2.arg0 = s.arg0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "z"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["z"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["z"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 932; s.pc = 3; return s.tmp_2; } - } - case 3: - r0 = s.retval; + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); s.tmp_1 = r0; - s.tmp_4 = if_z_1_mk(s); - s.tmp_4.arg0 = s.arg1; - if (!s.tmp_4.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "z"); - } else { - s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["z"]; - if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["z"]; } - else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } - else { s.callLocIdx = 933; s.pc = 4; return s.tmp_4; } - } - case 4: - r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_1 - s.tmp_3); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } - case 1: - s.tmp_6 = if_id_1_mk(s); - s.tmp_6.arg0 = s.arg0; - if (!s.tmp_6.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "id"); - } else { - s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["id"]; - if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["id"]; } - else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } - else { s.callLocIdx = 934; s.pc = 5; return s.tmp_6; } - } - case 5: - r0 = s.retval; - s.tmp_5 = r0; - s.tmp_8 = if_id_1_mk(s); - s.tmp_8.arg0 = s.arg1; - if (!s.tmp_8.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "id"); - } else { - s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["id"]; - if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["id"]; } - else if (!s.tmp_8.fn.isGetter) { s.retval = bind(s.tmp_8); } - else { s.callLocIdx = 935; s.pc = 6; return s.tmp_8; } - } - case 6: - r0 = s.retval; - s.tmp_7 = r0; - r0 = (s.tmp_5 - s.tmp_7); - case 2: - // jmp value (already in r0) - s.tmp_9 = r0; - r0 = s.tmp_9; - return leave(s, r0) + r0 = (s.tmp_1 >> 8); + return leaveAccessor(s, r0) default: oops() } } } -scene_Scene_render_inline__P44056.info = {"start":8781,"length":52,"line":242,"column":37,"endLine":242,"endColumn":89,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["a","b"]} +ArcadePhysicsEngine_minStep__P2530.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__P2530.isGetter = true; -function scene_Scene_render_inline__P44056_mk(s) { +function ArcadePhysicsEngine_minStep__P2530_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_render_inline__P44056, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_minStep__P2530, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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__P39042(s) { +function ArcadePhysicsEngine_maxSpeed__P2529(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10130,60 +10004,46 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Background__C39037_VT)) failedCast(r0); - r0 = s.arg0.fields["color"]; - s.tmp_0 = r0; - r0 = pxsim_ImageMethods.fill(globals.screen___38324, 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"]; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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 = pxsim_ImageMethods.drawTransparentImage(globals.screen___38324, 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__P44235); + 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 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); - s.tmp_2 = helpers_arrayForEach__P37574_mk(s); - r0 = s.arg0.fields["_layers"]; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = s.tmp_1; - s.callLocIdx = 793; s.pc = 5; return s.tmp_2; - case 5: - r0 = s.retval; - case 3: - case 4: + r0 = (s.tmp_0).fields["maxNegativeVelocity"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_Background_draw__P39042.info = {"start":1166,"length":545,"line":48,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this"]} +ArcadePhysicsEngine_maxSpeed__P2529.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 scene_Background_draw__P39042_mk(s) { +function ArcadePhysicsEngine_maxSpeed__P2529_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Background_draw__P39042, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_maxSpeed__P2529, 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_Background_draw_inline__P44235(s) { +function Fx_neg__P155(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10193,58 +10053,21 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ox___44237 = undefined; - s.oy___44251 = 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___44237 = (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___44251 = (r0); - s.tmp_0 = scene_BackgroundLayer_draw__P39045_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.ox___44237; - s.tmp_0.arg2 = s.oy___44251; - s.callLocIdx = 792; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + r0 = (0 - s.arg0); return leave(s, r0) default: oops() } } } -scene_Background_draw_inline__P44235.info = {"start":1373,"length":312,"line":53,"column":37,"endLine":58,"endColumn":17,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["layer"]} +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 scene_Background_draw_inline__P44235_mk(s) { +function Fx_neg__P155_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Background_draw_inline__P44235, depth: s.depth + 1, + parent: s, fn: Fx_neg__P155, depth: s.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___44237: undefined, - oy___44251: undefined, arg0: undefined, } } @@ -10252,7 +10075,7 @@ function scene_Background_draw_inline__P44235_mk(s) { -function scene_BackgroundLayer_draw__P39045(s) { +function ArcadePhysicsEngine_maxSpeed__P2528(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10262,251 +10085,38 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.w___44270 = undefined; - s.h___44273 = undefined; - s.pw___44276 = undefined; - s.ph___44281 = undefined; - s.rx___44290 = undefined; - s.ry___44293 = undefined; - s.y___44367 = undefined; - s.py___44368 = undefined; - s.dh___44377 = undefined; - s.x___44385 = undefined; - s.rxl___44386 = undefined; - s.px___44392 = undefined; - s.dw___44396 = 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__C39044_VT)) failedCast(r0); - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.w___44270 = (r0); - r0 = pxsim_ImageMethods.height(globals.screen___38324); - s.h___44273 = (r0); - r0 = s.arg0.fields["img"]; - s.tmp_0 = r0; - r0 = pxsim_ImageMethods.width(s.tmp_0); - s.pw___44276 = (r0); - r0 = s.arg0.fields["img"]; - s.tmp_0 = r0; - r0 = pxsim_ImageMethods.height(s.tmp_0); - s.ph___44281 = (r0); - r0 = pxsim_numops_toBoolDecr(s.pw___44276); - 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___44281); - 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___44290 = (r0); - r0 = (0 - s.arg2); - s.ry___44293 = (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___44290; - r0 = (s.w___44270 + s.pw___44276); - s.tmp_2 = r0; - r0 = (s.tmp_1 - s.tmp_2); - s.rx___44290 = (r0); - { step = 7; continue; } - case 6: - s.tmp_0 = r0 = s.rx___44290; - r0 = (s.w___44270 + s.pw___44276); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); - s.tmp_1 = r0; - r0 = (s.tmp_0 - s.tmp_1); - s.rx___44290 = (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___44293; - r0 = (s.h___44273 + s.ph___44281); - s.tmp_2 = r0; - r0 = (s.tmp_1 - s.tmp_2); - s.ry___44293 = (r0); - { step = 10; continue; } - case 9: - s.tmp_0 = r0 = s.ry___44293; - r0 = (s.h___44273 + s.ph___44281); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); - s.tmp_1 = r0; - r0 = (s.tmp_0 - s.tmp_1); - s.ry___44293 = (r0); - case 10: - r0 = (s.rx___44290 % s.w___44270); - s.rx___44290 = (r0); - r0 = (s.rx___44290 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 11; continue; } - r0 = (s.rx___44290 + s.w___44270); - s.rx___44290 = (r0); - case 11: - case 12: - r0 = (s.ry___44293 % s.h___44273); - s.ry___44293 = (r0); - r0 = (s.ry___44293 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 13; continue; } - r0 = (s.ry___44293 + s.h___44273); - s.ry___44293 = (r0); - case 13: - case 14: - r0 = pxsim.Math_.floor(s.rx___44290); - s.rx___44290 = (r0); - r0 = pxsim.Math_.floor(s.ry___44293); - s.ry___44293 = (r0); - s.y___44367 = (0); - s.py___44368 = (0); - case 15: - r0 = (s.y___44367 < s.h___44273); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 22; continue; } - r0 = (s.y___44367 % s.ph___44281); - s.py___44368 = (r0); - s.tmp_0 = Math_min__P37597_mk(s); - r0 = (s.ph___44281 - s.py___44368); - s.tmp_0.arg0 = r0; - r0 = (s.h___44273 - s.ry___44293); - s.tmp_0.arg1 = r0; - s.callLocIdx = 795; s.pc = 24; return s.tmp_0; - case 24: - r0 = s.retval; - s.dh___44377 = (r0); - s.x___44385 = (0); - s.rxl___44386 = (s.rx___44290); - case 16: - r0 = (s.x___44385 < s.w___44270); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 19; continue; } - r0 = (s.x___44385 % s.pw___44276); - s.px___44392 = (r0); - s.tmp_0 = Math_min__P37597_mk(s); - r0 = (s.pw___44276 - s.px___44392); - s.tmp_0.arg0 = r0; - r0 = (s.w___44270 - s.rxl___44386); - s.tmp_0.arg1 = r0; - s.callLocIdx = 796; s.pc = 25; return s.tmp_0; - case 25: - r0 = s.retval; - s.dw___44396 = (r0); - r0 = s.arg0.fields["img"]; - s.tmp_0 = r0; - r0 = pxsim_ImageMethods.drawImage(globals.screen___38324, s.tmp_0, s.rxl___44386, s.ry___44293); - r0 = (s.rxl___44386 + s.dw___44396); - s.tmp_0 = r0; - r0 = (s.tmp_0 % s.w___44270); - s.rxl___44386 = (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___44396; - { step = 18; continue; } - case 17: - r0 = s.w___44270; - case 18: - // jmp value (already in r0) - s.tmp_1 = r0; - r0 = (s.x___44385 + s.tmp_1); - s.x___44385 = (r0); - { step = 16; continue; } - case 19: - r0 = (s.ry___44293 + s.dh___44377); - s.tmp_0 = r0; - r0 = (s.tmp_0 % s.h___44273); - s.ry___44293 = (r0); - r0 = s.arg0.fields["repeatY"]; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = s.arg0.fields["maxVelocity"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 20; continue; } - r0 = s.dh___44377; - { step = 21; continue; } - case 20: - r0 = s.h___44273; - case 21: - // jmp value (already in r0) + r0 = (s.tmp_0 + 128); s.tmp_1 = r0; - r0 = (s.y___44367 + s.tmp_1); - s.y___44367 = (r0); - { step = 15; continue; } - case 22: - case 23: - r0 = undefined; - return leave(s, r0) + r0 = (s.tmp_1 >> 8); + return leaveAccessor(s, r0) default: oops() } } } -scene_BackgroundLayer_draw__P39045.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"]} +ArcadePhysicsEngine_maxSpeed__P2528.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__P2528.isGetter = true; -function scene_BackgroundLayer_draw__P39045_mk(s) { +function ArcadePhysicsEngine_maxSpeed__P2528_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_BackgroundLayer_draw__P39045, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_maxSpeed__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, - w___44270: undefined, - h___44273: undefined, - pw___44276: undefined, - ph___44281: undefined, - rx___44290: undefined, - ry___44293: undefined, - y___44367: undefined, - py___44368: undefined, - dh___44377: undefined, - x___44385: undefined, - rxl___44386: undefined, - px___44392: undefined, - dw___44396: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function helpers_arraySort__P37570(s) { +function PhysicsEngine_constructor__P2511(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10518,58 +10128,29 @@ switch (step) { 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__P44104); - case 3: - case 4: - s.tmp_0 = helpers_sortHelper__P37569_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; + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C2510_VT)) failedCast(r0); + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arraySort__P37570.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"]} +PhysicsEngine_constructor__P2511.info = {"start":26,"length":21,"line":1,"column":4,"endLine":2,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this"]} -function helpers_arraySort__P37570_mk(s) { +function PhysicsEngine_constructor__P2511_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arraySort__P37570, depth: s.depth + 1, + parent: s, fn: PhysicsEngine_constructor__P2511, depth: s.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__P44104(s) { +function sprites_SpriteMap_constructor__P2446(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10579,142 +10160,103 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.aIsUndef___44107 = undefined; - s.bIsUndef___44111 = undefined; - s.aIsNull___44122 = undefined; - s.bIsNull___44126 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 === undefined); - s.aIsUndef___44107 = (r0); - r0 = (s.arg1 === undefined); - s.bIsUndef___44111 = (r0); - s.tmp_0 = r0 = s.aIsUndef___44107; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_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__P2446.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__P2446_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_constructor__P2446, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function control_pushEventContext__P409(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ctx___9862 = undefined; + s.n___9868 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___4422); + 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___4422 = (r0); case 1: - r0 = s.bIsUndef___44111; case 2: - // jmp value (already in r0) - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = control_eventContext__P408_mk(s); + s.callLocIdx = 54; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.ctx___9862 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___9862); if (!r0) { step = 3; continue; } - r0 = 0; - { step = 17; continue; } - { step = 8; continue; } + s.tmp_0 = control_EventContext_unregister__P402_mk(s); + s.tmp_0.arg0 = s.ctx___9862; + s.callLocIdx = 55; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; case 3: - r0 = pxsim_numops_toBoolDecr(s.aIsUndef___44107); - if (!r0) { step = 4; continue; } - r0 = 1; - { step = 17; continue; } - { step = 7; continue; } case 4: - r0 = pxsim_numops_toBoolDecr(s.bIsUndef___44111); - if (!r0) { step = 5; continue; } - r0 = -1; - { step = 17; continue; } - case 5: - case 6: + 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 = 56; s.pc = 7; return s.tmp_1; case 7: - case 8: - r0 = (s.arg0 === null); - s.aIsNull___44122 = (r0); - r0 = (s.arg1 === null); - s.bIsNull___44126 = (r0); - s.tmp_0 = r0 = s.aIsNull___44122; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 9; continue; } - r0 = s.tmp_0; - { step = 10; continue; } - case 9: - r0 = s.bIsNull___44126; - 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___44122); - if (!r0) { step = 12; continue; } - r0 = 1; - { step = 17; continue; } - { step = 15; continue; } - case 12: - r0 = pxsim_numops_toBoolDecr(s.bIsNull___44126); - 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: + s.n___9868 = (s.tmp_0); + r0 = pxsim_Array__push(globals.eventContexts___4422, s.n___9868); + r0 = s.n___9868; return leave(s, r0) default: oops() } } } -helpers_arraySort_inline__P44104.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"]} +control_pushEventContext__P409.info = {"start":7310,"length":340,"line":220,"column":4,"endLine":231,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"pushEventContext","argumentNames":[]} -function helpers_arraySort_inline__P44104_mk(s) { +function control_pushEventContext__P409_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arraySort_inline__P44104, depth: s.depth + 1, + 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, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - aIsUndef___44107: undefined, - bIsUndef___44111: undefined, - aIsNull___44122: undefined, - bIsNull___44126: undefined, - arg0: undefined, - arg1: undefined, + ctx___9862: undefined, + n___9868: undefined, } } -function helpers_sortHelper__P37569(s) { +function control_EventContext_unregister__P402(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10724,114 +10266,68 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.len___44162 = undefined; - s.i___44165 = undefined; - s.j___44171 = undefined; + s.h___9897 = undefined; + s.unnamed58___U1 = undefined; + s.unnamed59___U2 = 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; } + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + s.h___9897 = (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___9897 = (r0); + s.tmp_2 = control_EventHandler_unregister__P4416_mk(s); + s.tmp_2.arg0 = s.h___9897; + s.callLocIdx = 50; s.pc = 3; return s.tmp_2; case 3: - case 4: - r0 = pxsim_Array__length(s.arg0); - s.len___44162 = (r0); - s.i___44165 = (0); - case 5: - s.tmp_1 = r0 = s.i___44165; - r0 = (s.len___44162 - 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___44165 + 1); - s.j___44171 = (r0); - case 6: - r0 = (s.j___44171 < s.len___44162); - 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___44165); - s.tmp_3.arg0 = r0; - r0 = pxsim_Array__getAt(s.arg0, s.j___44171); - 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; + 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 > 0); + r0 = (s.tmp_2 + 1); s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 7; continue; } - s.tmp_4 = helpers_swap__P37568_mk(s); - s.tmp_4.arg0 = s.arg0; - s.tmp_4.arg1 = s.i___44165; - s.tmp_4.arg2 = s.j___44171; - s.callLocIdx = 2; s.pc = 13; return s.tmp_4; - case 13: - r0 = s.retval; - case 7: - case 8: - r0 = (s.j___44171 + 1); - s.j___44171 = (r0); - { step = 6; continue; } - case 9: - r0 = (s.i___44165 + 1); - s.i___44165 = (r0); - { step = 5; continue; } - case 10: - r0 = s.arg0; - case 11: + r0 = (s.tmp_0).fields["frameWorker"] = (s.tmp_1); + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_sortHelper__P37569.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"]} +control_EventContext_unregister__P402.info = {"start":4721,"length":131,"line":141,"column":8,"endLine":145,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} -function helpers_sortHelper__P37569_mk(s) { +function control_EventContext_unregister__P402_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_sortHelper__P37569, depth: s.depth + 1, + 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, - tmp_3: undefined, - tmp_4: undefined, - len___44162: undefined, - i___44165: undefined, - j___44171: undefined, + h___9897: undefined, + unnamed58___U1: undefined, + unnamed59___U2: undefined, arg0: undefined, - arg1: undefined, } } -function helpers_swap__P37568(s) { +function control_EventHandler_unregister__P4416(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10841,46 +10337,41 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.temp___44200 = 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___44200 = (r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_1 = r0 = s.arg1; - r0 = pxsim_Array__getAt(s.arg0, s.arg2); + r0 = s.arg0; + if (!checkSubtype(r0, control_EventHandler__C4414_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_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2); - r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___44200); + r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P4418, s.tmp_2); r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_swap__P37568.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"]} +control_EventHandler_unregister__P4416.info = {"start":1136,"length":106,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} -function helpers_swap__P37568_mk(s) { +function control_EventHandler_unregister__P4416_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_swap__P37568, depth: s.depth + 1, + parent: s, fn: control_EventHandler_unregister__P4416, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - temp___44200: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function power_checkDeepSleep__P38237(s) { +function control_doNothing__P4418(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10890,94 +10381,24 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.p___43360 = undefined; - s.to___43363 = undefined; - s.tmp_0 = power_init__P38239_mk(s); - s.callLocIdx = 76; s.pc = 11; return s.tmp_0; - case 11: - r0 = s.retval; - s.tmp_0 = r0 = globals._poked___38233; - 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___43360 = (s.tmp_1); - s.tmp_0 = r0 = globals._timeout___38234; - 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___43363 = (s.tmp_1); - r0 = (s.to___43363 > 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___43360); - s.tmp_1 = r0; - r0 = (s.tmp_1 > s.to___43363); - 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__P38237.info = {"start":1087,"length":298,"line":36,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"checkDeepSleep","argumentNames":[]} +control_doNothing__P4418.info = {"start":1254,"length":24,"line":41,"column":4,"endLine":41,"endColumn":28,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"doNothing","argumentNames":[]} -function power_checkDeepSleep__P38237_mk(s) { +function control_doNothing__P4418_mk(s) { checkStack(s.depth); return { - parent: s, fn: power_checkDeepSleep__P38237, depth: s.depth + 1, + parent: s, fn: control_doNothing__P4418, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___43360: undefined, - to___43363: undefined, } } -function power_init__P38239(s) { +function control_EventContext_constructor__P399(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -10987,54 +10408,52 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = (globals._timeout___38234 !== 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.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; } - { step = 7; continue; } + r0 = pxsim_String_.mkEmpty(); + globals.control_EventContext_lastStats___397 = (r0); case 1: case 2: - r0 = pxsim_pxtcore.getConfig(212, -1); - s.tmp_1 = r0; - r0 = (s.tmp_1 * 1000); - globals._timeout___38234 = (r0); - r0 = (globals._timeout___38234 > 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___38234 < 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___38234 = (300000); - case 5: - case 6: - case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -power_init__P38239.info = {"start":1610,"length":376,"line":57,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"init","argumentNames":[]} +control_EventContext_constructor__P399.info = {"start":1778,"length":347,"line":59,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this"]} -function power_init__P38239_mk(s) { +function control_EventContext_constructor__P399_mk(s) { checkStack(s.depth); return { - parent: s, fn: power_init__P38239, depth: s.depth + 1, + 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 power_poke__P38236(s) { +function controller_pauseUntilAnyButtonIsPressed__P2205(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11044,31 +10463,30 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = power_init__P38239_mk(s); - s.callLocIdx = 75; s.pc = 1; return s.tmp_0; + setupResume(s, 1); + pxsim.control.waitForEvent(2049, 0); + checkResumeConsumed(); + return; case 1: r0 = s.retval; - r0 = pxsim.control.millis(); - globals._poked___38233 = (r0); r0 = undefined; return leave(s, r0) default: oops() } } } -power_poke__P38236.info = {"start":795,"length":81,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"poke","argumentNames":[]} +controller_pauseUntilAnyButtonIsPressed__P2205.info = {"start":9968,"length":96,"line":287,"column":4,"endLine":289,"endColumn":5,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"pauseUntilAnyButtonIsPressed","argumentNames":[]} -function power_poke__P38236_mk(s) { +function controller_pauseUntilAnyButtonIsPressed__P2205_mk(s) { checkStack(s.depth); return { - parent: s, fn: power_poke__P38236, depth: s.depth + 1, + parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P2205, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, } } -function control_EventContext_registerFrameHandler__P37819(s) { +function game_setWaitAnyButton__P2999(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11078,105 +10496,30 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.fn___45057 = undefined; - s.i___45068 = 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__C37813_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__P37816_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 51; s.pc = 8; return s.tmp_0; - case 8: - r0 = s.retval; - case 1: - case 2: - r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C37807_VT); - s.fn___45057 = (r0); - r0 = (s.fn___45057).fields["order"] = (s.arg1); - r0 = (s.fn___45057).fields["handler"] = (s.arg2); - s.i___45068 = (0); - case 3: - s.tmp_1 = r0 = s.i___45068; - 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___45068); - 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___45068, s.fn___45057); - r0 = s.fn___45057; - { step = 7; continue; } - case 4: - case 5: - r0 = (s.i___45068 + 1); - s.i___45068 = (r0); - { step = 3; continue; } - case 6: - r0 = s.arg0.fields["frameCallbacks"]; - s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.fn___45057); - r0 = s.fn___45057; - case 7: + globals.__waitAnyButton___4926 = (s.arg0); + r0 = undefined; return leave(s, r0) default: oops() } } } -control_EventContext_registerFrameHandler__P37819.info = {"start":4862,"length":643,"line":147,"column":8,"endLine":164,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameHandler","argumentNames":["this","order","handler"]} +game_setWaitAnyButton__P2999.info = {"start":4236,"length":83,"line":127,"column":4,"endLine":129,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"setWaitAnyButton","argumentNames":["f"]} -function control_EventContext_registerFrameHandler__P37819_mk(s) { +function game_setWaitAnyButton__P2999_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_registerFrameHandler__P37819, depth: s.depth + 1, + parent: s, fn: game_setWaitAnyButton__P2999, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___45057: undefined, - i___45068: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function control_EventContext_registerFrameCallbacks__P37816(s) { +function Math_FastRandom_constructor__P3060(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11186,55 +10529,44 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.worker___45103 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, control_EventContext__C37813_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); + if (!checkSubtype(r0, Math_FastRandom__C3058_VT)) failedCast(r0); + r0 = (s.arg1 === undefined); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - { step = 3; continue; } + r0 = pxsim.Math_.randomRange(1, 65535); + s.arg1 = (r0); case 1: case 2: - r0 = s.arg0.fields["frameWorker"]; - s.worker___45103 = (r0); - r0 = pxsim_pxtcore_mkAction(2, control_EventContext_registerFrameCallbacks_inline__P45109); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.worker___45103); - r0 = pxsim.control.runInParallel(s.tmp_0); - case 3: + r0 = (s.arg0).fields["seed"] = (s.arg1); + r0 = (s.arg0).fields["lfsr"] = (s.arg1); r0 = undefined; return leave(s, r0) default: oops() } } } -control_EventContext_registerFrameCallbacks__P37816.info = {"start":3668,"length":895,"line":109,"column":8,"endLine":133,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameCallbacks","argumentNames":["this"]} +Math_FastRandom_constructor__P3060.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 control_EventContext_registerFrameCallbacks__P37816_mk(s) { +function Math_FastRandom_constructor__P3060_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_registerFrameCallbacks__P37816, depth: s.depth + 1, + parent: s, fn: Math_FastRandom_constructor__P3060, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - worker___45103: undefined, arg0: undefined, + arg1: undefined, } } -function control_EventContext_registerFrameCallbacks_inline__P45109(s) { +function game_consoleOverlay_listener__P5256(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11244,73 +10576,96 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.delay___45139 = undefined; - r0 = s.caps[0].fields["runningCallbacks"]; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___5221); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = pxsim_pxtcore_mkAction(1, control_EventContext_registerFrameCallbacks_inline__P45115); - s.tmp_1 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.caps[0]); - s.tmp_2 = pauseUntil__P37774_mk(s); - s.tmp_2.arg0 = s.tmp_1; - s.tmp_2.arg1 = undefined; - s.callLocIdx = 45; s.pc = 5; return s.tmp_2; - case 5: - r0 = s.retval; + 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: - 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); + // 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: - r0 = s.caps[0].fields["frameWorker"]; + 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 = 1124; s.pc = 10; return s.tmp_6; + case 10: + r0 = s.retval; + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = forEach_inline__P10100; + s.callLocIdx = 1125; s.pc = 9; return s.tmp_5; + case 9: + r0 = s.retval; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = game_consoleOverlay_listener_inline__P10105; + s.callLocIdx = 1127; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + r0 = pxsim_Array__length(globals.consoleStrings___5221); s.tmp_1 = r0; - r0 = (s.caps[1] == s.tmp_1); + r0 = (s.tmp_1 > globals.consoleLines___5234); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - s.tmp_2 = control_EventContext_runCallbacks__P37815_mk(s); - s.tmp_2.arg0 = s.caps[0]; - s.callLocIdx = 46; s.pc = 6; return s.tmp_2; - case 6: + if (!r0) { step = 5; continue; } + s.tmp_2 = helpers_arraySplice__P100_mk(s); + s.tmp_2.arg0 = globals.consoleStrings___5221; + s.tmp_2.arg1 = 0; + r0 = pxsim_Array__length(globals.consoleStrings___5221); + s.tmp_3 = r0; + r0 = (s.tmp_3 - globals.consoleLines___5234); + s.tmp_2.arg2 = r0; + s.callLocIdx = 1128; s.pc = 11; return s.tmp_2; + case 11: r0 = s.retval; - s.delay___45139 = (r0); - s.tmp_0 = pause__P37835_mk(s); - s.tmp_0.arg0 = s.delay___45139; - s.callLocIdx = 47; s.pc = 7; return s.tmp_0; + case 5: + case 6: 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__P45109.info = {"start":3829,"length":723,"line":113,"column":34,"endLine":132,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} +game_consoleOverlay_listener__P5256.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 control_EventContext_registerFrameCallbacks_inline__P45109_mk(s) { +function game_consoleOverlay_listener__P5256_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P45109, depth: s.depth + 1, + parent: s, fn: game_consoleOverlay_listener__P5256, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - delay___45139: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, } } -function control_EventContext_registerFrameCallbacks_inline__P45115(s) { +function forEach_inline__P10100(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11320,7 +10675,13 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = s.caps[0].fields["runningCallbacks"]; + 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; @@ -11328,22 +10689,24 @@ switch (step) { return leave(s, r0) default: oops() } } } -control_EventContext_registerFrameCallbacks_inline__P45115.info = {"start":4060,"length":28,"line":117,"column":31,"endLine":117,"endColumn":59,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} +forEach_inline__P10100.info = {"start":985,"length":14,"line":32,"column":20,"endLine":32,"endColumn":34,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]} -function control_EventContext_registerFrameCallbacks_inline__P45115_mk(s) { +function forEach_inline__P10100_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P45115, depth: s.depth + 1, + parent: s, fn: forEach_inline__P10100, 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_EventContext_runCallbacks__P37815(s) { +function game_consoleOverlay_listener_inline__P10105(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11353,255 +10716,45 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.loopStart___45148 = undefined; - s.f___45161 = undefined; - s.unnamed238___U2 = undefined; - s.unnamed239___U3 = undefined; - s.now___45166 = undefined; - s.runtime___45169 = undefined; - s.realTimeInSample___45188 = undefined; - s.fps___45197 = undefined; - s.delay___45266 = undefined; + s.j___10107 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, control_EventContext__C37813_VT)) failedCast(r0); - r0 = pxsim.control.millis(); - s.loopStart___45148 = (r0); - s.tmp_0 = r0 = s.arg0; - r0 = s.arg0.fields["prevTimeMillis"]; - s.tmp_2 = r0; - r0 = (s.loopStart___45148 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1); - r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___45148); - s.f___45161 = (undefined); - r0 = s.arg0.fields["frameCallbacks"]; - s.unnamed238___U2 = (r0); - s.unnamed239___U3 = (0); + s.j___10107 = (0); case 1: - s.tmp_0 = r0 = s.unnamed239___U3; - r0 = pxsim_Array__length(s.unnamed238___U2); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 2; continue; } - r0 = pxsim_Array__getAt(s.unnamed238___U2, s.unnamed239___U3); - s.f___45161 = (r0); - s.tmp_2 = if_handler_1_mk(s); - s.tmp_2.arg0 = s.f___45161; - if (!s.tmp_2.arg0.vtable.iface) { - setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "handler"), 1); - s.callLocIdx = 43; s.pc = 11; return s.tmp_2; - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["handler"]; - if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["handler"], 1); s.callLocIdx = 43; s.pc = 11; return s.tmp_2; } - else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 43; s.pc = 11; return s.tmp_2;; } - else { s.callLocIdx = 43; s.pc = 11; return s.tmp_2; } - } - case 11: - r0 = s.retval; - r0 = (s.unnamed239___U3 + 1); - s.unnamed239___U3 = (r0); - { step = 1; continue; } - case 2: - s.unnamed238___U2 = (undefined); - r0 = pxsim.control.millis(); - s.now___45166 = (r0); - r0 = (s.now___45166 - s.loopStart___45148); - s.runtime___45169 = (r0); - s.tmp_0 = r0 = s.arg0; - r0 = s.tmp_0.fields["timeInSample"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + s.runtime___45169); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["timeInSample"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = s.tmp_0.fields["framesInSample"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + 1); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["framesInSample"] = (s.tmp_1); - r0 = s.arg0.fields["timeInSample"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 > 1000); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 3; continue; } - r0 = s.tmp_0; - { step = 4; continue; } - case 3: - r0 = s.arg0.fields["framesInSample"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 > 30); - case 4: - // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 9; continue; } - r0 = s.arg0.fields["lastPerfDump"]; - s.tmp_4 = r0; - r0 = (s.now___45166 - s.tmp_4); - s.realTimeInSample___45188 = (r0); - r0 = (s.arg0).fields["lastPerfDump"] = (s.now___45166); - r0 = s.arg0.fields["framesInSample"]; - s.tmp_0 = r0; - r0 = s.arg0.fields["timeInSample"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 / 1000); - s.tmp_1 = r0; - r0 = (s.tmp_0 / s.tmp_1); - s.fps___45197 = (r0); - r0 = pxsim.Math_.round(s.fps___45197); - s.tmp_1 = r0; - if ((s.tmp_1) && (s.tmp_1).vtable) { - setupResume(s, 12); - pxsim_String__stringConv(s.tmp_1); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_1) + ""; } - case 12: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_String__concat("fps:", s.tmp_0); - globals.control_EventContext_lastStats___37825 = (r0); - r0 = (s.fps___45197 < 99); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - if ((globals.control_EventContext_lastStats___37825) && (globals.control_EventContext_lastStats___37825).vtable) { - setupResume(s, 13); - pxsim_String__stringConv(globals.control_EventContext_lastStats___37825); - checkResumeConsumed(); - return; - } else { s.retval = (globals.control_EventContext_lastStats___37825) + ""; } - case 13: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.fps___45197 * 10); - s.tmp_7 = r0; - r0 = pxsim.Math_.round(s.tmp_7); - s.tmp_6 = r0; - r0 = (s.tmp_6 % 10); - s.tmp_5 = r0; - if ((s.tmp_5) && (s.tmp_5).vtable) { - setupResume(s, 14); - pxsim_String__stringConv(s.tmp_5); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_5) + ""; } - case 14: - r0 = s.retval; - s.tmp_4 = r0; - r0 = pxsim_String__concat(".", s.tmp_4); - s.tmp_3 = r0; - if ((s.tmp_3) && (s.tmp_3).vtable) { - setupResume(s, 15); - pxsim_String__stringConv(s.tmp_3); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_3) + ""; } - case 15: - r0 = s.retval; + s.tmp_1 = r0 = s.j___10107; + r0 = pxsim_String_.length(s.arg0); s.tmp_2 = r0; - r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); - globals.control_EventContext_lastStats___37825 = (r0); - case 5: - case 6: - r0 = pxsim.control.profilingEnabled(); + r0 = (s.tmp_1 < s.tmp_2); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - r0 = pxsim_String_.mkEmpty(); - s.tmp_9 = r0; - r0 = (s.fps___45197 * 100); - s.tmp_12 = r0; - r0 = (s.tmp_12 | 0); - s.tmp_11 = r0; - if ((s.tmp_11) && (s.tmp_11).vtable) { - setupResume(s, 16); - pxsim_String__stringConv(s.tmp_11); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_11) + ""; } - case 16: - r0 = s.retval; - s.tmp_10 = r0; - r0 = pxsim_String__concat(s.tmp_9, s.tmp_10); - s.tmp_8 = r0; - r0 = pxsim_String__concat(s.tmp_8, "/100 fps - "); - s.tmp_7 = r0; - r0 = s.arg0.fields["framesInSample"]; - s.tmp_14 = r0; - if ((s.tmp_14) && (s.tmp_14).vtable) { - setupResume(s, 17); - pxsim_String__stringConv(s.tmp_14); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_14) + ""; } - case 17: - r0 = s.retval; - s.tmp_13 = r0; - r0 = pxsim_String__concat(s.tmp_7, s.tmp_13); - s.tmp_6 = r0; - r0 = pxsim_String__concat(s.tmp_6, " frames ("); - s.tmp_5 = r0; - r0 = s.arg0.fields["timeInSample"]; - s.tmp_16 = r0; - if ((s.tmp_16) && (s.tmp_16).vtable) { - setupResume(s, 18); - pxsim_String__stringConv(s.tmp_16); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_16) + ""; } - case 18: + if (!r0) { step = 2; continue; } + s.tmp_3 = r0 = globals.consoleStrings___5221; + s.tmp_5 = helpers_stringSlice__P119_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_5.arg1 = s.j___10107; + r0 = (s.j___10107 + globals.consoleColumns___5244); + s.tmp_5.arg2 = r0; + s.callLocIdx = 1126; s.pc = 3; return s.tmp_5; + case 3: r0 = s.retval; - s.tmp_15 = r0; - r0 = pxsim_String__concat(s.tmp_5, s.tmp_15); s.tmp_4 = r0; - r0 = pxsim_String__concat(s.tmp_4, "ms/"); - s.tmp_3 = r0; - if ((s.realTimeInSample___45188) && (s.realTimeInSample___45188).vtable) { - setupResume(s, 19); - pxsim_String__stringConv(s.realTimeInSample___45188); - checkResumeConsumed(); - return; - } else { s.retval = (s.realTimeInSample___45188) + ""; } - case 19: - r0 = s.retval; - s.tmp_17 = r0; - r0 = pxsim_String__concat(s.tmp_3, s.tmp_17); - s.tmp_2 = r0; - r0 = pxsim_String__concat(s.tmp_2, "ms)"); - s.tmp_1 = r0; - r0 = pxsim.control.dmesg(s.tmp_1); - r0 = pxsim.control.gc(); - r0 = pxsim_pxtcore.dumpPerfCounters(); - case 7: - case 8: - r0 = (s.arg0).fields["timeInSample"] = (0); - r0 = (s.arg0).fields["framesInSample"] = (0); - case 9: - case 10: - s.tmp_0 = Math_max__P37596_mk(s); - s.tmp_0.arg0 = 1; - r0 = (20 - s.runtime___45169); - s.tmp_0.arg1 = r0; - s.callLocIdx = 44; s.pc = 20; return s.tmp_0; - case 20: - r0 = s.retval; - s.delay___45266 = (r0); - r0 = s.delay___45266; + r0 = pxsim_Array__push(s.tmp_3, s.tmp_4); + r0 = (s.j___10107 + globals.consoleColumns___5244); + s.j___10107 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; return leave(s, r0) default: oops() } } } -control_EventContext_runCallbacks__P37815.info = {"start":2220,"length":1395,"line":75,"column":8,"endLine":106,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"runCallbacks","argumentNames":["this"]} +game_consoleOverlay_listener_inline__P10105.info = {"start":1022,"length":189,"line":33,"column":21,"endLine":37,"endColumn":13,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]} -function control_EventContext_runCallbacks__P37815_mk(s) { +function game_consoleOverlay_listener_inline__P10105_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_runCallbacks__P37815, depth: s.depth + 1, + parent: s, fn: game_consoleOverlay_listener_inline__P10105, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -11609,27 +10762,7 @@ function control_EventContext_runCallbacks__P37815_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, - tmp_10: undefined, - tmp_11: undefined, - tmp_12: undefined, - tmp_13: undefined, - tmp_14: undefined, - tmp_15: undefined, - tmp_16: undefined, - tmp_17: undefined, - loopStart___45148: undefined, - f___45161: undefined, - unnamed238___U2: undefined, - unnamed239___U3: undefined, - now___45166: undefined, - runtime___45169: undefined, - realTimeInSample___45188: undefined, - fps___45197: undefined, - delay___45266: undefined, + j___10107: undefined, arg0: undefined, } } @@ -11637,7 +10770,7 @@ function control_EventContext_runCallbacks__P37815_mk(s) { -function pauseUntil__P37774(s) { +function console_addListener__P383(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11649,7 +10782,6 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = pxsim_numops_toBoolDecr(s.arg0); @@ -11661,63 +10793,42 @@ switch (step) { 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 = 30; s.pc = 8; return s.tmp_2; - case 8: - r0 = s.retval; + r0 = pxsim_Array_.indexOf(globals.listeners___4400, 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 = 7; continue; } + { step = 5; 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); + r0 = pxsim_Array__push(globals.listeners___4400, s.arg0); case 5: - case 6: - s.tmp_0 = control___queuePollEvent__P37773_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = s.arg0; - s.tmp_0.arg2 = undefined; - s.callLocIdx = 31; s.pc = 9; return s.tmp_0; - case 9: - r0 = s.retval; - case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -pauseUntil__P37774.info = {"start":2224,"length":227,"line":73,"column":0,"endLine":77,"endColumn":1,"fileName":"pxt_modules/base/poll.ts","functionName":"pauseUntil","argumentNames":["condition","timeOut"]} +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 pauseUntil__P37774_mk(s) { +function console_addListener__P383_mk(s) { checkStack(s.depth); return { - parent: s, fn: pauseUntil__P37774, depth: s.depth + 1, + 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, - tmp_4: undefined, - tmp_5: undefined, arg0: undefined, - arg1: undefined, } } -function control___queuePollEvent__P37773(s) { +function listeners_inline__P4399(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11727,97 +10838,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ev___45288 = 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__C37768_VT); - s.tmp_0 = r0; - s.tmp_1 = control_PollEvent_constructor__P37769_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 = 28; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - s.ev___45288 = (s.tmp_0); - r0 = pxsim_numops_toBoolDecr(globals._pollEventQueue___37771); - 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___45288); - globals._pollEventQueue___37771 = (s.tmp_2); - r0 = pxsim.control.runInParallel(control_pollEvents__P37772); - { step = 2; continue; } - case 1: - r0 = pxsim_Array__push(globals._pollEventQueue___37771, s.ev___45288); - case 2: - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 3; continue; } - s.tmp_0 = control_onEvent__P37806_mk(s); - r0 = s.ev___45288.fields["eid"]; - s.tmp_0.arg0 = r0; - r0 = s.ev___45288.fields["vid"]; - s.tmp_0.arg1 = r0; - s.tmp_0.arg2 = s.arg2; - s.tmp_0.arg3 = 16; - s.callLocIdx = 29; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - { step = 4; continue; } - case 3: - r0 = s.ev___45288.fields["eid"]; - s.tmp_0 = r0; - r0 = s.ev___45288.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 = pxsim.control.__log(s.arg0, s.arg1); r0 = undefined; return leave(s, r0) default: oops() } } } -control___queuePollEvent__P37773.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"]} +listeners_inline__P4399.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 control___queuePollEvent__P37773_mk(s) { +function listeners_inline__P4399_mk(s) { checkStack(s.depth); return { - parent: s, fn: control___queuePollEvent__P37773, depth: s.depth + 1, + parent: s, fn: listeners_inline__P4399, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - ev___45288: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function control_pollEvents__P37772(s) { +function scene_systemMenu_register__P3105(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11827,139 +10873,38 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.now___45332 = undefined; - s.i___45335 = undefined; - s.ev___45341 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.instance___5175); + if (!r0) { step = 1; continue; } + { step = 3; continue; } case 1: - r0 = pxsim_Array__length(globals._pollEventQueue___37771); - 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___45332 = (r0); - s.i___45335 = (0); case 2: - s.tmp_1 = r0 = s.i___45335; - r0 = pxsim_Array__length(globals._pollEventQueue___37771); - 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___37771, s.i___45335); - s.ev___45341 = (r0); - s.tmp_1 = if_condition_1_mk(s); - s.tmp_1.arg0 = s.ev___45341; - if (!s.tmp_1.arg0.vtable.iface) { - setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "condition"), 1); - s.callLocIdx = 25; 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 = 25; s.pc = 13; return s.tmp_1; } - else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 25; s.pc = 13; return s.tmp_1;; } - else { s.callLocIdx = 25; 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___45341.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; } + s.tmp_0 = controller_Button_onEvent__P2196_mk(s); + s.tmp_0.arg0 = globals.menu___2119; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P3106; + s.callLocIdx = 1111; s.pc = 4; return s.tmp_0; case 4: - r0 = s.ev___45341.fields["start"]; - s.tmp_5 = r0; - r0 = (s.now___45332 - s.tmp_5); - s.tmp_4 = r0; - r0 = s.ev___45341.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___45341.fields["eid"]; - s.tmp_9 = r0; - r0 = s.ev___45341.fields["vid"]; - s.tmp_10 = r0; - r0 = pxsim.control.raiseEvent(s.tmp_9, s.tmp_10); - r0 = s.ev___45341.fields["once"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - s.tmp_1 = helpers_arraySplice__P37563_mk(s); - s.tmp_1.arg0 = globals._pollEventQueue___37771; - s.tmp_1.arg1 = s.i___45335; - s.tmp_1.arg2 = 1; - s.callLocIdx = 26; s.pc = 14; return s.tmp_1; - case 14: - r0 = s.retval; - r0 = (s.i___45335 - 1); - s.i___45335 = (r0); - case 7: - case 8: - case 9: - case 10: - r0 = (s.i___45335 + 1); - s.i___45335 = (r0); - { step = 2; continue; } - case 11: - s.tmp_0 = pause__P37835_mk(s); - s.tmp_0.arg0 = 50; - s.callLocIdx = 27; s.pc = 15; return s.tmp_0; - case 15: r0 = s.retval; - { step = 1; continue; } - case 12: - globals._pollEventQueue___37771 = (undefined); + case 3: r0 = undefined; return leave(s, r0) default: oops() } } } -control_pollEvents__P37772.info = {"start":618,"length":638,"line":20,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/poll.ts","functionName":"pollEvents","argumentNames":[]} +scene_systemMenu_register__P3105.info = {"start":12793,"length":193,"line":382,"column":4,"endLine":386,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"register","argumentNames":[]} -function control_pollEvents__P37772_mk(s) { +function scene_systemMenu_register__P3105_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_pollEvents__P37772, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_register__P3105, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___45332: undefined, - i___45335: undefined, - ev___45341: undefined, } } -function helpers_arraySplice__P37563(s) { +function scene_systemMenu_showSystemMenu__P3106(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -11969,55 +10914,51 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.i___45390 = 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); + r0 = pxsim_numops_toBoolDecr(globals.instance___5175); if (!r0) { step = 1; continue; } - { step = 5; continue; } + { step = 3; continue; } case 1: case 2: - s.i___45390 = (0); - case 3: - r0 = (s.i___45390 < 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___45390 + 1); - s.i___45390 = (r0); - { step = 3; continue; } + s.tmp_0 = game_pushScene__P3002_mk(s); + s.callLocIdx = 1112; s.pc = 4; return s.tmp_0; case 4: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C3094_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P3095_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P3102; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 1113; s.pc = 5; return s.tmp_1; case 5: + r0 = s.retval; + globals.instance___5175 = (s.tmp_0); + s.tmp_0 = scene_systemMenu_PauseMenu_show__P3096_mk(s); + s.tmp_0.arg0 = globals.instance___5175; + s.callLocIdx = 1114; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 3: r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arraySplice__P37563.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"]} +scene_systemMenu_showSystemMenu__P3106.info = {"start":12992,"length":172,"line":388,"column":4,"endLine":393,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"showSystemMenu","argumentNames":[]} -function helpers_arraySplice__P37563_mk(s) { +function scene_systemMenu_showSystemMenu__P3106_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arraySplice__P37563, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_showSystemMenu__P3106, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - i___45390: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, + tmp_1: undefined, } } -function control_PollEvent_constructor__P37769(s) { +function scene_systemMenu_buildOptionList__P3102(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12027,49 +10968,136 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C37768_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; + s.options___12136 = undefined; + r0 = pxsim_Array__mk(); + s.options___12136 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___3116; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12144; + s.tmp_1.arg3 = scene_systemMenu_volumeDown__P5181; + s.callLocIdx = 1094; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.VOLUME_UP_ICON___3113; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12158; + s.tmp_1.arg3 = scene_systemMenu_volumeUp__P5180; + s.callLocIdx = 1096; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, 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__C3086_VT); + s.tmp_1 = r0; + s.tmp_2 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = globals.BRIGHTNESS_DOWN_ICON___3114; + s.tmp_2.arg2 = scene_systemMenu_buildOptionList_inline__P12173; + s.tmp_2.arg3 = scene_systemMenu_brightnessDown__P5183; + s.callLocIdx = 1099; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_1); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___3119; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12188; + s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P5182; + s.callLocIdx = 1101; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_0); + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.STATS_ICON___3120; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12203; + s.tmp_1.arg3 = scene_systemMenu_toggleStats__P5185; + s.callLocIdx = 1102; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.CONSOLE_ICON___3118; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12212; + s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P5186; + s.callLocIdx = 1104; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.SLEEP_ICON___3117; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12221; + s.tmp_1.arg3 = scene_systemMenu_sleep__P5187; + s.callLocIdx = 1105; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_0); + r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___5176); + if (!r0) { step = 3; continue; } + s.tmp_0 = helpers_arrayConcat__P113_mk(s); + s.tmp_0.arg0 = s.options___12136; + s.tmp_0.arg1 = globals.customMenuOptions___5176; + s.callLocIdx = 1106; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.options___12136 = (r0); + case 3: + case 4: + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C3086_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P3087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___3115; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P12234; + s.tmp_1.arg3 = scene_systemMenu_closeMenu__P3101; + s.callLocIdx = 1107; s.pc = 13; return s.tmp_1; + case 13: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___12136, s.tmp_0); + r0 = s.options___12136; return leave(s, r0) default: oops() } } } -control_PollEvent_constructor__P37769.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"]} +scene_systemMenu_buildOptionList__P3102.info = {"start":10499,"length":1149,"line":334,"column":4,"endLine":354,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildOptionList","argumentNames":[]} -function control_PollEvent_constructor__P37769_mk(s) { +function scene_systemMenu_buildOptionList__P3102_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_PollEvent_constructor__P37769, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList__P3102, 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, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + options___12136: undefined, } } -function control_EventContext_deltaTime__P37814(s) { +function scene_systemMenu_buildOptionList_inline__P12144(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12079,35 +11107,44 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, control_EventContext__C37813_VT)) failedCast(r0); - r0 = s.arg0.fields["deltaTimeMillis"]; + s.tmp_3 = music_volume__P1621_mk(s); + s.callLocIdx = 1093; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 2); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 2: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("VOLUME DOWN (", s.tmp_1); s.tmp_0 = r0; - r0 = (s.tmp_0 / 1000); - return leaveAccessor(s, r0) + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) default: oops() } } } -control_EventContext_deltaTime__P37814.info = {"start":2135,"length":75,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"deltaTime","argumentNames":["this"]} -control_EventContext_deltaTime__P37814.isGetter = true; +scene_systemMenu_buildOptionList_inline__P12144.info = {"start":10644,"length":39,"line":337,"column":54,"endLine":337,"endColumn":93,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function control_EventContext_deltaTime__P37814_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12144_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_deltaTime__P37814, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12144, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, } } -function helpers_arrayForEach__P37574(s) { +function scene_systemMenu_buildOptionList_inline__P12158(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12117,58 +11154,44 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.len___43056 = undefined; - s.i___43059 = 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___43056 = (r0); - s.i___43059 = (0); + s.tmp_3 = music_volume__P1621_mk(s); + s.callLocIdx = 1095; s.pc = 1; return s.tmp_3; case 1: - r0 = (s.i___43059 < s.len___43056); - 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___43059); - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.i___43059; - 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___43059 + 1); - s.i___43059 = (r0); - { step = 1; continue; } + 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 = undefined; + 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() } } } -helpers_arrayForEach__P37574.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"]} +scene_systemMenu_buildOptionList_inline__P12158.info = {"start":10751,"length":37,"line":338,"column":52,"endLine":338,"endColumn":89,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function helpers_arrayForEach__P37574_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12158_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayForEach__P37574, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12158, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - len___43056: undefined, - i___43059: undefined, - arg0: undefined, - arg1: undefined, + tmp_2: undefined, + tmp_3: undefined, } } -function control_pushEventContext__P37830(s) { +function scene_systemMenu_buildOptionList_inline__P12173(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12178,63 +11201,40 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ctx___45436 = undefined; - s.n___45442 = undefined; - r0 = pxsim_numops_toBoolDecr(globals.eventContexts___37828); - 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___37828 = (r0); + r0 = globals.brightness___1951; + 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: - case 2: - s.tmp_0 = control_eventContext__P37829_mk(s); - s.callLocIdx = 54; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - s.ctx___45436 = (r0); - r0 = pxsim_numops_toBoolDecr(s.ctx___45436); - if (!r0) { step = 3; continue; } - s.tmp_0 = control_EventContext_unregister__P37818_mk(s); - s.tmp_0.arg0 = s.ctx___45436; - s.callLocIdx = 55; s.pc = 6; return s.tmp_0; - case 6: r0 = s.retval; - case 3: - case 4: - r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C37813_VT); + s.tmp_1 = r0; + r0 = pxsim_String__concat("BRIGHTNESS DOWN (", s.tmp_1); s.tmp_0 = r0; - s.tmp_1 = control_EventContext_constructor__P37827_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.callLocIdx = 56; s.pc = 7; return s.tmp_1; - case 7: - r0 = s.retval; - s.n___45442 = (s.tmp_0); - r0 = pxsim_Array__push(globals.eventContexts___37828, s.n___45442); - r0 = s.n___45442; + r0 = pxsim_String__concat(s.tmp_0, ")"); return leave(s, r0) default: oops() } } } -control_pushEventContext__P37830.info = {"start":7310,"length":340,"line":220,"column":4,"endLine":231,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"pushEventContext","argumentNames":[]} +scene_systemMenu_buildOptionList_inline__P12173.info = {"start":10910,"length":48,"line":340,"column":62,"endLine":340,"endColumn":110,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function control_pushEventContext__P37830_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12173_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_pushEventContext__P37830, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12173, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - ctx___45436: undefined, - n___45442: undefined, + tmp_2: undefined, } } -function control_EventContext_constructor__P37827(s) { +function scene_systemMenu_buildOptionList_inline__P12188(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12244,52 +11244,40 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, control_EventContext__C37813_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___37825); + r0 = globals.brightness___1951; + 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_Boolean__bang(s.tmp_1); + r0 = pxsim_String__concat("BRIGHTNESS UP (", 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___37825 = (r0); - case 1: - case 2: - r0 = undefined; + r0 = pxsim_String__concat(s.tmp_0, ")"); return leave(s, r0) default: oops() } } } -control_EventContext_constructor__P37827.info = {"start":1778,"length":347,"line":59,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this"]} +scene_systemMenu_buildOptionList_inline__P12188.info = {"start":11038,"length":46,"line":341,"column":60,"endLine":341,"endColumn":106,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function control_EventContext_constructor__P37827_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12188_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_constructor__P37827, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12188, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - arg0: undefined, + tmp_2: undefined, } } -function control_EventContext_unregister__P37818(s) { +function scene_systemMenu_buildOptionList_inline__P12203(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12299,68 +11287,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.h___45471 = undefined; - s.unnamed242___U1 = undefined; - s.unnamed243___U2 = undefined; - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, control_EventContext__C37813_VT)) failedCast(r0); - s.h___45471 = (undefined); - r0 = s.arg0.fields["handlers"]; - s.unnamed242___U1 = (r0); - s.unnamed243___U2 = (0); + r0 = pxsim_numops_toBoolDecr(globals.stats___2967); + if (!r0) { step = 1; continue; } + r0 = "HIDE STATS"; + { step = 2; continue; } case 1: - s.tmp_0 = r0 = s.unnamed243___U2; - r0 = pxsim_Array__length(s.unnamed242___U1); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 2; continue; } - r0 = pxsim_Array__getAt(s.unnamed242___U1, s.unnamed243___U2); - s.h___45471 = (r0); - s.tmp_2 = control_EventHandler_unregister__P37810_mk(s); - s.tmp_2.arg0 = s.h___45471; - s.callLocIdx = 50; s.pc = 3; return s.tmp_2; - case 3: - r0 = s.retval; - r0 = (s.unnamed243___U2 + 1); - s.unnamed243___U2 = (r0); - { step = 1; continue; } + r0 = "SHOW STATS"; case 2: - s.unnamed242___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; + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -control_EventContext_unregister__P37818.info = {"start":4721,"length":131,"line":141,"column":8,"endLine":145,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} +scene_systemMenu_buildOptionList_inline__P12203.info = {"start":11160,"length":46,"line":343,"column":48,"endLine":343,"endColumn":94,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function control_EventContext_unregister__P37818_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12203_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_unregister__P37818, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12203, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - h___45471: undefined, - unnamed242___U1: undefined, - unnamed243___U2: undefined, - arg0: undefined, } } -function control_EventHandler_unregister__P37810(s) { +function scene_systemMenu_buildOptionList_inline__P12212(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12370,41 +11324,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, control_EventHandler__C37808_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"]; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___5221); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); s.tmp_2 = r0; - r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P37812, s.tmp_2); - r0 = undefined; + 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() } } } -control_EventHandler_unregister__P37810.info = {"start":1136,"length":106,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} +scene_systemMenu_buildOptionList_inline__P12212.info = {"start":11273,"length":71,"line":344,"column":50,"endLine":344,"endColumn":121,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function control_EventHandler_unregister__P37810_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12212_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventHandler_unregister__P37810, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12212, 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, + tmp_3: undefined, + tmp_4: undefined, } } -function control_doNothing__P37812(s) { +function scene_systemMenu_buildOptionList_inline__P12221(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12414,16 +11373,16 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = undefined; + r0 = "SLEEP"; return leave(s, r0) default: oops() } } } -control_doNothing__P37812.info = {"start":1254,"length":24,"line":41,"column":4,"endLine":41,"endColumn":28,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"doNothing","argumentNames":[]} +scene_systemMenu_buildOptionList_inline__P12221.info = {"start":11411,"length":13,"line":345,"column":48,"endLine":345,"endColumn":61,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function control_doNothing__P37812_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12221_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_doNothing__P37812, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12221, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, } } @@ -12431,7 +11390,7 @@ function control_doNothing__P37812_mk(s) { -function controller_pauseUntilAnyButtonIsPressed__P38594(s) { +function scene_systemMenu_buildOptionList_inline__P12234(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12441,22 +11400,16 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - setupResume(s, 1); - pxsim.control.waitForEvent(2049, 0); - checkResumeConsumed(); - return; - case 1: - r0 = s.retval; - r0 = undefined; + r0 = "CLOSE"; return leave(s, r0) default: oops() } } } -controller_pauseUntilAnyButtonIsPressed__P38594.info = {"start":9968,"length":96,"line":287,"column":4,"endLine":289,"endColumn":5,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"pauseUntilAnyButtonIsPressed","argumentNames":[]} +scene_systemMenu_buildOptionList_inline__P12234.info = {"start":11590,"length":13,"line":351,"column":53,"endLine":351,"endColumn":66,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function controller_pauseUntilAnyButtonIsPressed__P38594_mk(s) { +function scene_systemMenu_buildOptionList_inline__P12234_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P38594, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildOptionList_inline__P12234, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, } } @@ -12464,7 +11417,7 @@ function controller_pauseUntilAnyButtonIsPressed__P38594_mk(s) { -function game_setWaitAnyButton__P39339(s) { +function scene_systemMenu_setScreenBrightnessSupported__P5188(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12474,30 +11427,24 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - globals.__waitAnyButton___39335 = (s.arg0); - r0 = undefined; + r0 = 0; return leave(s, r0) default: oops() } } } -game_setWaitAnyButton__P39339.info = {"start":4236,"length":83,"line":127,"column":4,"endLine":129,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"setWaitAnyButton","argumentNames":["f"]} +scene_systemMenu_setScreenBrightnessSupported__P5188.info = {"start":10398,"length":95,"line":330,"column":4,"endLine":332,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setScreenBrightnessSupported","argumentNames":[]} -function game_setWaitAnyButton__P39339_mk(s) { +function scene_systemMenu_setScreenBrightnessSupported__P5188_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_setWaitAnyButton__P39339, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_setScreenBrightnessSupported__P5188, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, } } -function Math_FastRandom_constructor__P39629(s) { +function scene_systemMenu_sleep__P5187(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12507,44 +11454,25 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C39622_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 = pxsim_pxtcore.deepSleep(); r0 = undefined; return leave(s, r0) default: oops() } } } -Math_FastRandom_constructor__P39629.info = {"start":1425,"length":175,"line":44,"column":8,"endLine":48,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"inline","argumentNames":["this","seed"]} +scene_systemMenu_sleep__P5187.info = {"start":10072,"length":51,"line":316,"column":4,"endLine":318,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"sleep","argumentNames":[]} -function Math_FastRandom_constructor__P39629_mk(s) { +function scene_systemMenu_sleep__P5187_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_FastRandom_constructor__P39629, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_sleep__P5187, 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__P39746(s) { +function scene_systemMenu_toggleConsole__P5186(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12554,96 +11482,59 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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___39710); + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___5221); + 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_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = s.tmp_0; + s.tmp_4 = game_consoleOverlay_setVisible__P3125_mk(s); + s.tmp_4.arg0 = false; + s.tmp_4.arg1 = undefined; + s.callLocIdx = 1087; s.pc = 3; return s.tmp_4; + case 3: + r0 = s.retval; { step = 2; continue; } case 1: - 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: + s.tmp_0 = game_consoleOverlay_setVisible__P3125_mk(s); + s.tmp_0.arg0 = true; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 1088; s.pc = 4; return s.tmp_0; case 4: - s.tmp_4 = helpers_arrayForEach__P37574_mk(s); - s.tmp_5 = helpers_arrayFilter__P37575_mk(s); - s.tmp_6 = helpers_stringSplit__P37588_mk(s); - s.tmp_6.arg0 = s.arg1; - s.tmp_6.arg1 = "\n"; - s.tmp_6.arg2 = undefined; - s.callLocIdx = 1124; s.pc = 10; return s.tmp_6; - case 10: - r0 = s.retval; - s.tmp_5.arg0 = r0; - s.tmp_5.arg1 = forEach_inline__P45685; - s.callLocIdx = 1125; s.pc = 9; return s.tmp_5; - case 9: - r0 = s.retval; - s.tmp_4.arg0 = r0; - s.tmp_4.arg1 = game_consoleOverlay_listener_inline__P45690; - s.callLocIdx = 1127; s.pc = 8; return s.tmp_4; - case 8: - r0 = s.retval; - r0 = pxsim_Array__length(globals.consoleStrings___39710); - s.tmp_1 = r0; - r0 = (s.tmp_1 > globals.consoleLines___39723); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - s.tmp_2 = helpers_arraySplice__P37563_mk(s); - s.tmp_2.arg0 = globals.consoleStrings___39710; - s.tmp_2.arg1 = 0; - r0 = pxsim_Array__length(globals.consoleStrings___39710); - s.tmp_3 = r0; - r0 = (s.tmp_3 - globals.consoleLines___39723); - s.tmp_2.arg2 = r0; - s.callLocIdx = 1128; s.pc = 11; return s.tmp_2; - case 11: r0 = s.retval; + s.tmp_0 = console_log__P380_mk(s); + s.tmp_0.arg0 = "console"; + s.callLocIdx = 1089; s.pc = 5; return s.tmp_0; case 5: - case 6: - case 7: + r0 = s.retval; + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -game_consoleOverlay_listener__P39746.info = {"start":787,"length":571,"line":26,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"listener","argumentNames":["priority","text"]} +scene_systemMenu_toggleConsole__P5186.info = {"start":9827,"length":239,"line":307,"column":4,"endLine":314,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleConsole","argumentNames":[]} -function game_consoleOverlay_listener__P39746_mk(s) { +function scene_systemMenu_toggleConsole__P5186_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_consoleOverlay_listener__P39746, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_toggleConsole__P5186, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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__P45685(s) { +function game_consoleOverlay_setVisible__P3125(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12655,36 +11546,68 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); 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); + s.tmp_1 = r0 = s.arg0; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___5221); + 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___5221 = (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___5220 = (s.arg1); + case 5: + case 6: + r0 = undefined; return leave(s, r0) default: oops() } } } -forEach_inline__P45685.info = {"start":985,"length":14,"line":32,"column":20,"endLine":32,"endColumn":34,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]} +game_consoleOverlay_setVisible__P3125.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 forEach_inline__P45685_mk(s) { +function game_consoleOverlay_setVisible__P3125_mk(s) { checkStack(s.depth); return { - parent: s, fn: forEach_inline__P45685, depth: s.depth + 1, + parent: s, fn: game_consoleOverlay_setVisible__P3125, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 game_consoleOverlay_listener_inline__P45690(s) { +function console_log__P380(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12694,53 +11617,28 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.j___45692 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.j___45692 = (0); + s.tmp_0 = console_add__P376_mk(s); + s.tmp_0.arg0 = 1; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 34; s.pc = 1; return s.tmp_0; case 1: - s.tmp_1 = r0 = s.j___45692; - 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___39710; - s.tmp_5 = helpers_stringSlice__P37585_mk(s); - s.tmp_5.arg0 = s.arg0; - s.tmp_5.arg1 = s.j___45692; - r0 = (s.j___45692 + globals.consoleColumns___39734); - s.tmp_5.arg2 = r0; - s.callLocIdx = 1126; s.pc = 3; return s.tmp_5; - case 3: r0 = s.retval; - s.tmp_4 = r0; - r0 = pxsim_Array__push(s.tmp_3, s.tmp_4); - r0 = (s.j___45692 + globals.consoleColumns___39734); - s.j___45692 = (r0); - { step = 1; continue; } - case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -game_consoleOverlay_listener_inline__P45690.info = {"start":1022,"length":189,"line":33,"column":21,"endLine":37,"endColumn":13,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]} +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 game_consoleOverlay_listener_inline__P45690_mk(s) { +function console_log__P380_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_consoleOverlay_listener_inline__P45690, depth: s.depth + 1, + parent: s, fn: console_log__P380, depth: s.depth + 1, pc: 0, retval: undefined, 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___45692: undefined, arg0: undefined, } } @@ -12748,7 +11646,7 @@ function game_consoleOverlay_listener_inline__P45690_mk(s) { -function console_addListener__P37787(s) { +function console_add__P376(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12758,55 +11656,87 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.text___12273 = undefined; + s.i___12282 = 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); + r0 = (s.arg0 < globals.minPriority___375); s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + { step = 5; continue; } case 1: - r0 = pxsim_Array_.indexOf(globals.listeners___37779, 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; } + s.tmp_1 = console_inspect__P382_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 20; + s.callLocIdx = 32; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + s.text___12273 = (r0); + if ((s.text___12273) && (s.text___12273).vtable) { + setupResume(s, 7); + pxsim_String__stringConv(s.text___12273); + checkResumeConsumed(); + return; + } else { s.retval = (s.text___12273) + ""; } + case 7: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, "\n"); + s.text___12273 = (r0); + s.i___12282 = (0); case 3: + s.tmp_1 = r0 = s.i___12282; + r0 = pxsim_Array__length(globals.listeners___4400); + 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___4400, s.i___12282); + s.tmp_3.argL = r0; + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = s.text___12273; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 33; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + r0 = (s.i___12282 + 1); + s.i___12282 = (r0); + { step = 3; continue; } case 4: - r0 = pxsim_Array__push(globals.listeners___37779, s.arg0); case 5: r0 = undefined; return leave(s, r0) default: oops() } } } -console_addListener__P37787.info = {"start":3558,"length":197,"line":121,"column":4,"endLine":124,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"addListener","argumentNames":["listener"]} +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_addListener__P37787_mk(s) { +function console_add__P376_mk(s) { checkStack(s.depth); return { - parent: s, fn: console_addListener__P37787, depth: s.depth + 1, + 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___12273: undefined, + i___12282: undefined, arg0: undefined, + arg1: undefined, } } -function scene_systemMenu_register__P39664(s) { +function console_inspect__P382(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12816,38 +11746,239 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.instance___39630); + s.asArr___12313 = undefined; + s.asString___12331 = undefined; + s.keys___12343 = undefined; + s.snipped___12347 = 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; } - { step = 3; 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: - s.tmp_0 = controller_Button_onEvent__P38564_mk(s); - s.tmp_0.arg0 = globals.menu___38429; - s.tmp_0.arg1 = 2049; - s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P39665; - s.callLocIdx = 1111; s.pc = 4; return s.tmp_0; - case 4: + r0 = pxsim_Array_.isArray(s.arg0); + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 5; continue; } + s.asArr___12313 = (s.arg0); + r0 = pxsim_Array__length(s.asArr___12313); + 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___12313; + s.tmp_2.arg1 = ","; + s.callLocIdx = 35; 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___12313; + s.tmp_8.arg1 = 0; + s.tmp_8.arg2 = s.arg1; + s.callLocIdx = 36; s.pc = 21; return s.tmp_8; + case 21: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.tmp_7.arg1 = ","; + s.callLocIdx = 37; 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___12331 = (r0); + r0 = (s.asString___12331 != "[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___12331 != "[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___12331; + { step = 17; continue; } + case 8: + case 9: + r0 = pxsim_pxtrt.keysOf(s.arg0); + s.keys___12343 = (r0); + r0 = pxsim_Array__length(s.keys___12343); + s.tmp_0 = r0; + r0 = (s.tmp_0 > s.arg1); + s.snipped___12347 = (r0); + r0 = pxsim_numops_toBoolDecr(s.snipped___12347); + if (!r0) { step = 10; continue; } + s.tmp_0 = helpers_arraySlice__P115_mk(s); + s.tmp_0.arg0 = s.keys___12343; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 38; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.keys___12343 = (r0); + case 10: + case 11: + r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P12364); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_numops_toBoolDecr(s.snipped___12347); + 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___12343; + s.tmp_7.arg1 = s.tmp_0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_7.arg2 = r0; + s.callLocIdx = 39; 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() } } } -scene_systemMenu_register__P39664.info = {"start":12793,"length":193,"line":382,"column":4,"endLine":386,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"register","argumentNames":[]} +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 scene_systemMenu_register__P39664_mk(s) { +function console_inspect__P382_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_register__P39664, depth: s.depth + 1, + 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___12313: undefined, + asString___12331: undefined, + keys___12343: undefined, + snipped___12347: undefined, + arg0: undefined, + arg1: undefined, } } -function scene_systemMenu_showSystemMenu__P39665(s) { +function console_inspect_inline__P12364(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12857,51 +11988,83 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.instance___39630); - if (!r0) { step = 1; continue; } - { step = 3; continue; } + 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: - case 2: - s.tmp_0 = game_pushScene__P39343_mk(s); - s.callLocIdx = 1112; s.pc = 4; return s.tmp_0; - case 4: r0 = s.retval; - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C39642_VT); s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P39649_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P39661; - s.tmp_1.arg2 = undefined; - s.callLocIdx = 1113; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - globals.instance___39630 = (s.tmp_0); - s.tmp_0 = scene_systemMenu_PauseMenu_show__P39643_mk(s); - s.tmp_0.arg0 = globals.instance___39630; - s.callLocIdx = 1114; s.pc = 6; return s.tmp_0; - case 6: + 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 = undefined; + 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() } } } -scene_systemMenu_showSystemMenu__P39665.info = {"start":12992,"length":172,"line":388,"column":4,"endLine":393,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"showSystemMenu","argumentNames":[]} +console_inspect_inline__P12364.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 scene_systemMenu_showSystemMenu__P39665_mk(s) { +function console_inspect_inline__P12364_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_showSystemMenu__P39665, depth: s.depth + 1, + parent: s, fn: console_inspect_inline__P12364, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 scene_systemMenu_buildOptionList__P39661(s) { +function helpers_arraySlice__P115(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -12911,136 +12074,114 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.options___47773 = undefined; + s.res___10868 = undefined; + s.len___10870 = undefined; + s.i___10904 = 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.options___47773 = (r0); - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); + s.res___10868 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___10870 = (r0); + r0 = (s.arg1 === undefined); s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___39694; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47781; - s.tmp_1.arg3 = scene_systemMenu_volumeDown__P39652; - s.callLocIdx = 1094; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); + 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; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.VOLUME_UP_ICON___39685; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47795; - s.tmp_1.arg3 = scene_systemMenu_volumeUp__P39651; - s.callLocIdx = 1096; s.pc = 6; return s.tmp_1; - case 6: + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_max__P130_mk(s); + r0 = (s.len___10870 + s.arg1); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 9; s.pc = 16; return s.tmp_1; + case 16: r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - r0 = 0; + s.arg1 = (r0); + case 2: + case 3: + case 4: + r0 = (s.arg1 > s.len___10870); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); + if (!r0) { step = 5; continue; } + r0 = s.res___10868; + { step = 15; continue; } + case 5: + case 6: + r0 = (s.arg2 === undefined); s.tmp_1 = r0; - s.tmp_2 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_2.arg0 = s.tmp_1; - s.tmp_2.arg1 = globals.BRIGHTNESS_DOWN_ICON___39688; - s.tmp_2.arg2 = scene_systemMenu_buildOptionList_inline__P47810; - s.tmp_2.arg3 = scene_systemMenu_brightnessDown__P39654; - s.callLocIdx = 1099; s.pc = 7; return s.tmp_2; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 7; continue; } + s.arg2 = (s.len___10870); + { step = 10; continue; } case 7: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_1); - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); + r0 = (s.arg2 < 0); s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___39703; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47826; - s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P39653; - s.callLocIdx = 1101; s.pc = 8; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + r0 = (s.len___10870 + s.arg2); + s.arg2 = (r0); case 8: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - case 1: - case 2: - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); - s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.STATS_ICON___39706; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47841; - s.tmp_1.arg3 = scene_systemMenu_toggleStats__P39656; - s.callLocIdx = 1102; s.pc = 9; return s.tmp_1; case 9: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); - s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.CONSOLE_ICON___39700; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47850; - s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P39657; - s.callLocIdx = 1104; s.pc = 10; return s.tmp_1; case 10: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); + r0 = (s.arg2 > s.len___10870); s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.SLEEP_ICON___39697; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47859; - s.tmp_1.arg3 = scene_systemMenu_sleep__P39658; - s.callLocIdx = 1105; s.pc = 11; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.arg2 = (s.len___10870); case 11: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___39631); - if (!r0) { step = 3; continue; } - s.tmp_0 = helpers_arrayConcat__P37578_mk(s); - s.tmp_0.arg0 = s.options___47773; - s.tmp_0.arg1 = globals.customMenuOptions___39631; - s.callLocIdx = 1106; s.pc = 12; return s.tmp_0; case 12: - r0 = s.retval; - s.options___47773 = (r0); - case 3: - case 4: - r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C39633_VT); - s.tmp_0 = r0; - s.tmp_1 = scene_systemMenu_MenuOption_constructor__P39641_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___39691; - s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P47873; - s.tmp_1.arg3 = scene_systemMenu_closeMenu__P39659; - s.callLocIdx = 1107; s.pc = 13; return s.tmp_1; + s.i___10904 = (s.arg1); case 13: - r0 = s.retval; - r0 = pxsim_Array__push(s.options___47773, s.tmp_0); - r0 = s.options___47773; + r0 = (s.i___10904 < s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + s.tmp_1 = r0 = s.res___10868; + r0 = pxsim_Array__getAt(s.arg0, s.i___10904); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___10904 + 1); + s.i___10904 = (r0); + { step = 13; continue; } + case 14: + r0 = s.res___10868; + case 15: return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList__P39661.info = {"start":10499,"length":1149,"line":334,"column":4,"endLine":354,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildOptionList","argumentNames":[]} +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 scene_systemMenu_buildOptionList__P39661_mk(s) { +function helpers_arraySlice__P115_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList__P39661, depth: s.depth + 1, + 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, - options___47773: undefined, + res___10868: undefined, + len___10870: undefined, + i___10904: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_systemMenu_buildOptionList_inline__P47781(s) { +function helpers_arrayReduce__P112(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13050,44 +12191,62 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_3 = music_volume__P37964_mk(s); - s.callLocIdx = 1093; s.pc = 1; return s.tmp_3; + s.len___12391 = undefined; + s.i___12394 = 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___12391 = (r0); + s.i___12394 = (0); case 1: + r0 = (s.i___12394 < s.len___12391); + 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___12394); + s.tmp_1.arg1 = r0; + s.tmp_1.arg2 = s.i___12394; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 8; s.pc = 3; return s.tmp_1; + case 3: 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) + ""; } + s.arg2 = (r0); + r0 = (s.i___12394 + 1); + s.i___12394 = (r0); + { step = 1; continue; } 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, ")"); + r0 = s.arg2; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList_inline__P47781.info = {"start":10644,"length":39,"line":337,"column":54,"endLine":337,"endColumn":93,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +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 scene_systemMenu_buildOptionList_inline__P47781_mk(s) { +function helpers_arrayReduce__P112_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47781, depth: s.depth + 1, + 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, - tmp_2: undefined, - tmp_3: undefined, + len___12391: undefined, + i___12394: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_systemMenu_buildOptionList_inline__P47795(s) { +function helpers_arrayJoin__P103(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13097,44 +12256,153 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_3 = music_volume__P37964_mk(s); - s.callLocIdx = 1095; s.pc = 1; return s.tmp_3; + s.r___12419 = undefined; + s.len___12420 = undefined; + s.i___12423 = 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.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) + ""; } + r0 = (s.arg1 === null); case 2: - r0 = s.retval; + // jmp value (already in r0) s.tmp_1 = r0; - r0 = pxsim_String__concat("VOLUME UP (", s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + s.arg1 = (","); + case 3: + case 4: + r0 = pxsim_String_.mkEmpty(); + s.r___12419 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___12420 = (r0); + s.i___12423 = (0); + case 5: + r0 = (s.i___12423 < s.len___12420); s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, ")"); - return leave(s, r0) - default: oops() -} } } -scene_systemMenu_buildOptionList_inline__P47795.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__P47795_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47795, depth: s.depth + 1, + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.i___12423 > 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___12419) && (s.r___12419).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(s.r___12419); + checkResumeConsumed(); + return; + } else { s.retval = (s.r___12419) + ""; } + 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___12419 = (r0); + case 8: + case 9: + r0 = pxsim_Array__getAt(s.arg0, s.i___12423); + 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___12423); + 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___12423); + case 13: + // jmp value (already in r0) + s.tmp_4 = r0; + if ((s.r___12419) && (s.r___12419).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.r___12419); + checkResumeConsumed(); + return; + } else { s.retval = (s.r___12419) + ""; } + 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___12419 = (r0); + r0 = (s.i___12423 + 1); + s.i___12423 = (r0); + { step = 5; continue; } + case 14: + r0 = s.r___12419; + 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___12419: undefined, + len___12420: undefined, + i___12423: undefined, + arg0: undefined, + arg1: undefined, } } -function scene_systemMenu_buildOptionList_inline__P47810(s) { +function scene_systemMenu_toggleStats__P5185(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13144,40 +12412,57 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = globals.brightness___38246; - 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; + r0 = pxsim_numops_toBoolDecr(globals.stats___2967); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + globals.stats___2967 = (r0); + r0 = pxsim_numops_toBoolDecr(globals.stats___2967); s.tmp_1 = r0; - r0 = pxsim_String__concat("BRIGHTNESS DOWN (", s.tmp_1); + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, ")"); + 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 = 1085; s.pc = 5; return s.tmp_3; + case 5: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList_inline__P47810.info = {"start":10910,"length":48,"line":340,"column":62,"endLine":340,"endColumn":110,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +scene_systemMenu_toggleStats__P5185.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_buildOptionList_inline__P47810_mk(s) { +function scene_systemMenu_toggleStats__P5185_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47810, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_toggleStats__P5185, depth: s.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__P47826(s) { +function scene_systemMenu_brightnessDown__P5183(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13187,40 +12472,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = globals.brightness___38246; - 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) + ""; } + s.tmp_0 = scene_systemMenu_setScreenBrightness__P5184_mk(s); + r0 = globals.brightness___1951; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 5); + s.tmp_0.arg0 = r0; + s.callLocIdx = 1081; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_String__concat("BRIGHTNESS UP (", s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, ")"); + r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList_inline__P47826.info = {"start":11038,"length":46,"line":341,"column":60,"endLine":341,"endColumn":106,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +scene_systemMenu_brightnessDown__P5183.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_buildOptionList_inline__P47826_mk(s) { +function scene_systemMenu_brightnessDown__P5183_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47826, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_brightnessDown__P5183, 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__P47841(s) { +function scene_systemMenu_setScreenBrightness__P5184(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13230,34 +12509,43 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.stats___39310); - if (!r0) { step = 1; continue; } - r0 = "HIDE STATS"; - { step = 2; continue; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = helpers_setScreenBrightness__P1965_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1082; s.pc = 1; return s.tmp_0; case 1: - r0 = "SHOW STATS"; + r0 = s.retval; + s.tmp_0 = settings_writeNumber__P2063_mk(s); + s.tmp_0.arg0 = "#brightness"; + r0 = globals.brightness___1951; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1084; s.pc = 2; return s.tmp_0; case 2: - // jmp value (already in r0) - s.tmp_0 = r0; - r0 = s.tmp_0; + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList_inline__P47841.info = {"start":11160,"length":46,"line":343,"column":48,"endLine":343,"endColumn":94,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +scene_systemMenu_setScreenBrightness__P5184.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_buildOptionList_inline__P47841_mk(s) { +function scene_systemMenu_setScreenBrightness__P5184_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47841, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_setScreenBrightness__P5184, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + arg0: undefined, } } -function scene_systemMenu_buildOptionList_inline__P47850(s) { +function settings_writeNumber__P2063(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13267,46 +12555,48 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___39710); - 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); + 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_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = "HIDE CONSOLE"; - { step = 2; continue; } - case 1: - r0 = "SHOW CONSOLE"; + r0 = pxsim_Array__push(s.tmp_0, s.arg1); + s.tmp_1 = settings_writeBuffer__P2060_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 = 125; s.pc = 2; return s.tmp_2; case 2: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = s.tmp_4; + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.callLocIdx = 126; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList_inline__P47850.info = {"start":11273,"length":71,"line":344,"column":50,"endLine":344,"endColumn":121,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +settings_writeNumber__P2063.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 scene_systemMenu_buildOptionList_inline__P47850_mk(s) { +function settings_writeNumber__P2063_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47850, depth: s.depth + 1, + parent: s, fn: settings_writeNumber__P2063, depth: s.depth + 1, pc: 0, retval: 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_buildOptionList_inline__P47859(s) { +function settings_writeBuffer__P2060(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13316,24 +12606,40 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = "SLEEP"; + 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() } } } -scene_systemMenu_buildOptionList_inline__P47859.info = {"start":11411,"length":13,"line":345,"column":48,"endLine":345,"endColumn":61,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +settings_writeBuffer__P2060.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 scene_systemMenu_buildOptionList_inline__P47859_mk(s) { +function settings_writeBuffer__P2060_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47859, depth: s.depth + 1, + parent: s, fn: settings_writeBuffer__P2060, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, } } -function scene_systemMenu_buildOptionList_inline__P47873(s) { +function msgpack_packNumberArray__P184(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13343,24 +12649,108 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = "CLOSE"; + s.off___12509 = undefined; + s.n___12511 = undefined; + s.unnamed50___U2 = undefined; + s.unnamed51___U3 = undefined; + s.buf___12521 = undefined; + s.n___12527 = undefined; + s.unnamed52___U6 = undefined; + s.unnamed53___U7 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.off___12509 = (0); + s.n___12511 = (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___12511 = (r0); + s.tmp_2 = r0 = s.off___12509; + s.tmp_4 = msgpack_packNumberCore__P4359_mk(s); + s.tmp_4.arg0 = null; + s.tmp_4.arg1 = s.off___12509; + s.tmp_4.arg2 = s.n___12511; + s.callLocIdx = 22; 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___12509 = (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___12509); + s.buf___12521 = (r0); + s.off___12509 = (0); + s.n___12527 = (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___12527 = (r0); + s.tmp_2 = r0 = s.off___12509; + s.tmp_4 = msgpack_packNumberCore__P4359_mk(s); + s.tmp_4.arg0 = s.buf___12521; + s.tmp_4.arg1 = s.off___12509; + s.tmp_4.arg2 = s.n___12527; + s.callLocIdx = 23; 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___12509 = (r0); + r0 = (s.unnamed53___U7 + 1); + s.unnamed53___U7 = (r0); + { step = 3; continue; } + case 4: + s.unnamed52___U6 = (undefined); + r0 = s.buf___12521; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildOptionList_inline__P47873.info = {"start":11590,"length":13,"line":351,"column":53,"endLine":351,"endColumn":66,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +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 scene_systemMenu_buildOptionList_inline__P47873_mk(s) { +function msgpack_packNumberArray__P184_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildOptionList_inline__P47873, depth: s.depth + 1, + 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___12509: undefined, + n___12511: undefined, + unnamed50___U2: undefined, + unnamed51___U3: undefined, + buf___12521: undefined, + n___12527: undefined, + unnamed52___U6: undefined, + unnamed53___U7: undefined, + arg0: undefined, } } -function game_consoleOverlay_isVisible__P39747(s) { +function msgpack_packNumberCore__P4359(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13370,33 +12760,154 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___39710); + s.tag___12541 = undefined; + s.fmt___12584 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + s.tag___12541 = (203); + s.tmp_1 = r0 = s.arg2; + r0 = (s.arg2 << 0); s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); + 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___12541 = (204); + { step = 11; continue; } + case 8: + r0 = (s.arg2 <= 65535); s.tmp_0 = r0; - r0 = pxsim_Boolean__bang(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tag___12541 = (205); + { step = 10; continue; } + case 9: + s.tag___12541 = (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___12541 = (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___12541 = (209); + { step = 15; continue; } + case 14: + s.tag___12541 = (210); + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + s.tmp_0 = msgpack_tagFormat__P4358_mk(s); + s.tmp_0.arg0 = s.tag___12541; + s.callLocIdx = 18; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.fmt___12584 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 21; continue; } + r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___12541); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.fmt___12584; + 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___12584; + s.callLocIdx = 19; 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() } } } -game_consoleOverlay_isVisible__P39747.info = {"start":422,"length":68,"line":11,"column":4,"endLine":13,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"isVisible","argumentNames":[]} +msgpack_packNumberCore__P4359.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 game_consoleOverlay_isVisible__P39747_mk(s) { +function msgpack_packNumberCore__P4359_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_consoleOverlay_isVisible__P39747, depth: s.depth + 1, + parent: s, fn: msgpack_packNumberCore__P4359, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___12541: undefined, + fmt___12584: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_systemMenu_setScreenBrightnessSupported__P39660(s) { +function msgpack_tagFormat__P4358(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13406,24 +12917,72 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = 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() } } } -scene_systemMenu_setScreenBrightnessSupported__P39660.info = {"start":10398,"length":95,"line":330,"column":4,"endLine":332,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setScreenBrightnessSupported","argumentNames":[]} +msgpack_tagFormat__P4358.info = {"start":1145,"length":481,"line":42,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"tagFormat","argumentNames":["tag"]} -function scene_systemMenu_setScreenBrightnessSupported__P39660_mk(s) { +function msgpack_tagFormat__P4358_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_setScreenBrightnessSupported__P39660, depth: s.depth + 1, + parent: s, fn: msgpack_tagFormat__P4358, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, } } -function scene_systemMenu_closeMenu__P39659(s) { +function pins_sizeOf__P175(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13433,44 +12992,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.instance___39630); - if (!r0) { step = 1; continue; } - s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P39647_mk(s); - s.tmp_0.arg0 = globals.instance___39630; - s.callLocIdx = 1090; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - globals.instance___39630 = (undefined); - s.tmp_0 = controller__setUserEventsEnabled__P38595_mk(s); - s.tmp_0.arg0 = true; - s.callLocIdx = 1091; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.tmp_0 = game_popScene__P39344_mk(s); - s.callLocIdx = 1092; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; + 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 = 17; s.pc = 1; return s.tmp_0; case 1: - case 2: - r0 = undefined; + r0 = s.retval; return leave(s, r0) default: oops() } } } -scene_systemMenu_closeMenu__P39659.info = {"start":10129,"length":216,"line":320,"column":4,"endLine":327,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"closeMenu","argumentNames":[]} +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 scene_systemMenu_closeMenu__P39659_mk(s) { +function pins_sizeOf__P175_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_closeMenu__P39659, depth: s.depth + 1, + 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 scene_systemMenu_PauseMenu_dispose__P39647(s) { +function Buffer_sizeOfNumberFormat__P215(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13484,35 +13033,79 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C39642_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__P37574_mk(s); - r0 = s.arg0.fields["options"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = scene_systemMenu_PauseMenu_dispose_inline__P46593; - s.callLocIdx = 1067; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - r0 = (s.arg0).fields["options"] = (undefined); + 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: - r0 = undefined; + 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() } } } -scene_systemMenu_PauseMenu_dispose__P39647.info = {"start":7732,"length":165,"line":243,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]} +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 scene_systemMenu_PauseMenu_dispose__P39647_mk(s) { +function Buffer_sizeOfNumberFormat__P215_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_dispose__P39647, depth: s.depth + 1, + parent: s, fn: Buffer_sizeOfNumberFormat__P215, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, arg0: undefined, } } @@ -13520,7 +13113,7 @@ function scene_systemMenu_PauseMenu_dispose__P39647_mk(s) { -function scene_systemMenu_PauseMenu_dispose_inline__P46593(s) { +function helpers_setScreenBrightness__P1965(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13532,33 +13125,41 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = scene_systemMenu_MenuOption_dispose__P39639_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1066; s.pc = 1; return s.tmp_0; + 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 = 88; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; + s.arg1 = (r0); + globals.brightness___1951 = (s.arg1); + r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___1951); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_dispose_inline__P46593.info = {"start":7813,"length":16,"line":245,"column":37,"endLine":245,"endColumn":53,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["o"]} +helpers_setScreenBrightness__P1965.info = {"start":8945,"length":210,"line":282,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"setScreenBrightness","argumentNames":["img","b"]} -function scene_systemMenu_PauseMenu_dispose_inline__P46593_mk(s) { +function helpers_setScreenBrightness__P1965_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_dispose_inline__P46593, depth: s.depth + 1, + parent: s, fn: helpers_setScreenBrightness__P1965, 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_dispose__P39639(s) { +function scene_systemMenu_brightnessUp__P5182(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13568,57 +13169,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_MenuOption__C39633_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__P38729_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = undefined; - s.tmp_1.arg2 = undefined; - s.callLocIdx = 986; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - s.tmp_0 = Sprite_destroy__P38729_mk(s); - r0 = s.arg0.fields["icon"]; + s.tmp_0 = scene_systemMenu_setScreenBrightness__P5184_mk(s); + r0 = globals.brightness___1951; + s.tmp_1 = r0; + r0 = (s.tmp_1 + 5); s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = undefined; - s.tmp_0.arg2 = undefined; - s.callLocIdx = 987; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - r0 = (s.arg0).fields["card"] = (undefined); - r0 = (s.arg0).fields["icon"] = (undefined); + s.callLocIdx = 1079; s.pc = 1; return s.tmp_0; case 1: - case 2: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_MenuOption_dispose__P39639.info = {"start":1812,"length":216,"line":77,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]} +scene_systemMenu_brightnessUp__P5182.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_MenuOption_dispose__P39639_mk(s) { +function scene_systemMenu_brightnessUp__P5182_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_dispose__P39639, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_brightnessUp__P5182, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - arg0: undefined, } } -function Sprite_destroy__P38729(s) { +function scene_systemMenu_volumeDown__P5181(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13628,74 +13206,54 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38662_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); + s.v___12857 = undefined; + s.remainder___12860 = undefined; + s.newVolume___12863 = undefined; + s.tmp_0 = music_volume__P1621_mk(s); + s.callLocIdx = 1076; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.v___12857 = (r0); + r0 = (s.v___12857 % 32); + s.remainder___12860 = (r0); + r0 = pxsim_numops_toBoolDecr(s.remainder___12860); if (!r0) { step = 1; continue; } - { step = 5; continue; } + r0 = s.remainder___12860; + { step = 2; continue; } case 1: + r0 = 32; 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__P39889_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = s.arg0; - s.tmp_0.arg2 = s.arg2; - s.tmp_0.arg3 = undefined; - s.callLocIdx = 431; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - { step = 4; continue; } - case 3: - s.tmp_0 = Sprite__destroyCore__P38730_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 432; s.pc = 7; return s.tmp_0; - case 7: - r0 = s.retval; + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (s.v___12857 - s.tmp_0); + s.newVolume___12863 = (r0); + s.tmp_0 = scene_systemMenu_setVolume__P5179_mk(s); + s.tmp_0.arg0 = s.newVolume___12863; + s.callLocIdx = 1077; s.pc = 4; return s.tmp_0; case 4: - case 5: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_destroy__P38729.info = {"start":26333,"length":293,"line":857,"column":4,"endLine":866,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"destroy","argumentNames":["this","effect","duration"]} +scene_systemMenu_volumeDown__P5181.info = {"start":8914,"length":187,"line":278,"column":4,"endLine":283,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeDown","argumentNames":[]} -function Sprite_destroy__P38729_mk(s) { +function scene_systemMenu_volumeDown__P5181_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_destroy__P38729, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_volumeDown__P5181, depth: s.depth + 1, pc: 0, retval: 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, + v___12857: undefined, + remainder___12860: undefined, + newVolume___12863: undefined, } } -function effects_ParticleEffect_destroy__P39889(s) { +function scene_systemMenu_setVolume__P5179(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13707,86 +13265,45 @@ switch (step) { 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__C39887_VT)) failedCast(r0); - s.tmp_0 = Sprite_setFlag__P38720_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = 7168; - s.tmp_0.arg2 = true; - s.callLocIdx = 1251; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.tmp_0 = effects_ParticleEffect_start__P39888_mk(s); + s.tmp_0 = music_setVolume__P1620_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.arg3; - s.tmp_0.arg3 = null; - r0 = s.arg1.fields["flags"]; - s.tmp_5 = r0; - r0 = (s.tmp_5 & 512); - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0.arg4 = r0; - s.callLocIdx = 1252; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 1; continue; } - r0 = s.arg2; - { step = 2; continue; } + s.callLocIdx = 1071; s.pc = 1; return s.tmp_0; case 1: - r0 = s.arg0.fields["defaultLifespan"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 >> 2); + r0 = s.retval; + s.tmp_0 = music_playTone__P1622_mk(s); + s.tmp_0.arg0 = 440; + s.tmp_0.arg1 = 500; + s.callLocIdx = 1072; s.pc = 2; return s.tmp_0; 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__P39941_mk(s); - s.tmp_0.arg0 = globals.dissolve___39946; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1253; s.pc = 5; return s.tmp_0; - case 5: + r0 = s.retval; + s.tmp_0 = settings_writeNumber__P2063_mk(s); + s.tmp_0.arg0 = "#volume"; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1073; s.pc = 3; return s.tmp_0; + case 3: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -effects_ParticleEffect_destroy__P39889.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"]} +scene_systemMenu_setVolume__P5179.info = {"start":8565,"length":166,"line":265,"column":4,"endLine":269,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setVolume","argumentNames":["newVolume"]} -function effects_ParticleEffect_destroy__P39889_mk(s) { +function scene_systemMenu_setVolume__P5179_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ParticleEffect_destroy__P39889, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_setVolume__P5179, depth: s.depth + 1, pc: 0, retval: undefined, 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__P46742(s) { +function music_playTone__P1622(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13796,96 +13313,73 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.i___46745 = undefined; - s.x___46756 = undefined; - s.y___46762 = undefined; - s.w___46768 = undefined; - s.h___46772 = undefined; + s.id___12698 = 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); + r0 = pxsim_pxtrt.mklocRef(); s.tmp_0 = r0; - r0 = (s.tmp_0 >> 5); - s.i___46745 = (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: - r0 = (s.i___46745 > 0); + 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 = 2; continue; } - s.tmp_1 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_1.arg0 = s.arg1; - s.tmp_1.arg1 = 0; - r0 = pxsim_ImageMethods.width(s.arg0); - s.tmp_1.arg2 = r0; - s.callLocIdx = 52; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - s.x___46756 = (r0); - s.tmp_0 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = 0; - r0 = pxsim_ImageMethods.height(s.arg0); - s.tmp_0.arg2 = r0; - s.callLocIdx = 53; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.y___46762 = (r0); - s.tmp_0 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = 1; - s.tmp_0.arg2 = 3; - s.callLocIdx = 54; s.pc = 5; return s.tmp_0; + if (!r0) { step = 3; continue; } + s.tmp_2 = music_playNoteCore__P4458_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 = 65; s.pc = 5; return s.tmp_2; case 5: r0 = s.retval; - s.w___46768 = (r0); - s.tmp_0 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = 1; - s.tmp_0.arg2 = 3; - s.callLocIdx = 55; s.pc = 6; return s.tmp_0; + s.tmp_0 = pause__P413_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_0.arg0 = r0; + s.callLocIdx = 66; s.pc = 6; return s.tmp_0; case 6: r0 = s.retval; - s.h___46772 = (r0); - s.tmp_0 = helpers_imageDrawRect__P38264_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.x___46756; - s.tmp_0.arg2 = s.y___46762; - s.tmp_0.arg3 = s.w___46768; - s.tmp_0.arg4 = s.h___46772; - s.tmp_0.arg5 = 0; - s.callLocIdx = 56; s.pc = 7; return s.tmp_0; - case 7: - r0 = s.retval; - r0 = (s.i___46745 - 1); - s.i___46745 = (r0); - { step = 1; continue; } - case 2: + { step = 4; continue; } + case 3: + r0 = (globals.playToneID___4460 + 1); + s.tmp_0 = r0; + globals.playToneID___4460 = (r0); + s.id___12698 = (s.tmp_0); + r0 = pxsim_pxtcore_mkAction(3, music_playTone_inline__P12704); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___12698); + 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() } } } -dissolve_inline__P46742.info = {"start":2199,"length":360,"line":60,"column":49,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]} +music_playTone__P1622.info = {"start":2612,"length":831,"line":84,"column":4,"endLine":109,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playTone","argumentNames":["frequency","ms"]} -function dissolve_inline__P46742_mk(s) { +function music_playTone__P1622_mk(s) { checkStack(s.depth); return { - parent: s, fn: dissolve_inline__P46742, depth: s.depth + 1, + parent: s, fn: music_playTone__P1622, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - i___46745: undefined, - x___46756: undefined, - y___46762: undefined, - w___46768: undefined, - h___46772: undefined, + id___12698: undefined, arg0: undefined, arg1: undefined, } } @@ -13894,7 +13388,7 @@ function dissolve_inline__P46742_mk(s) { -function helpers_imageDrawRect__P38264(s) { +function music_playTone_inline__P12704(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -13904,110 +13398,106 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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.pos___12705 = undefined; + s.now___12715 = undefined; + s.d___12718 = undefined; + s.t___12722 = undefined; + r0 = pxsim.control.millis(); + s.pos___12705 = (r0); + case 1: + r0 = (s.caps[0] == globals.playToneID___4460); s.tmp_0 = r0; r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 1; continue; } + if (r0) { step = 2; continue; } r0 = s.tmp_0; - { step = 2; continue; } - case 1: - r0 = (s.arg4 == 0); + { step = 3; continue; } case 2: - // jmp value (already in r0) + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 3; continue; } - { step = 5; continue; } + r0 = (s.tmp_1 > 0); case 3: - case 4: - r0 = (s.arg3 - 1); - s.arg3 = (r0); - r0 = (s.arg4 - 1); - s.arg4 = (r0); - s.tmp_0 = helpers_imageDrawLine__P38263_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 = 84; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - s.tmp_0 = helpers_imageDrawLine__P38263_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 = 85; s.pc = 7; return s.tmp_0; + // 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___12715 = (r0); + r0 = (s.pos___12705 - s.now___12715); + s.d___12718 = (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 = 67; s.pc = 7; return s.tmp_0; case 7: r0 = s.retval; - s.tmp_0 = helpers_imageDrawLine__P38263_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 = 86; s.pc = 8; return s.tmp_0; + s.t___12722 = (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___12722); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = (s.pos___12705 + s.t___12722); + s.pos___12705 = (r0); + s.tmp_0 = music_playNoteCore__P4458_mk(s); + r0 = (s.d___12718 - 1); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.caps[2]; + s.tmp_0.arg2 = s.t___12722; + s.callLocIdx = 68; s.pc = 8; return s.tmp_0; case 8: r0 = s.retval; - s.tmp_0 = helpers_imageDrawLine__P38263_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 = 87; s.pc = 9; return s.tmp_0; + 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___12718 + s.t___12722); + s.tmp_2.arg0 = r0; + s.callLocIdx = 69; 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___12718 + s.t___12722); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 100); + s.tmp_0.arg0 = r0; + s.callLocIdx = 70; 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() } } } -helpers_imageDrawRect__P38264.info = {"start":5945,"length":370,"line":185,"column":4,"endLine":193,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawRect","argumentNames":["img","x","y","w","h","c"]} +music_playTone_inline__P12704.info = {"start":2911,"length":515,"line":93,"column":34,"endLine":107,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} -function helpers_imageDrawRect__P38264_mk(s) { +function music_playTone_inline__P12704_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imageDrawRect__P38264, depth: s.depth + 1, + parent: s, fn: music_playTone_inline__P12704, 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, + tmp_2: undefined, + pos___12705: undefined, + now___12715: undefined, + d___12718: undefined, + t___12722: undefined, } } -function helpers_imageDrawLine__P38263(s) { +function music_playNoteCore__P4458(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14017,60 +13507,57 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.buf___12752 = 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; } - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = helpers_pack__P38256_mk(s); - s.tmp_2.arg0 = s.arg1; - s.tmp_2.arg1 = s.arg2; - s.callLocIdx = 82; s.pc = 1; return s.tmp_2; - case 1: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_4 = helpers_pack__P38256_mk(s); - s.tmp_4.arg0 = s.arg3; - s.tmp_4.arg1 = s.arg4; - s.callLocIdx = 83; s.pc = 2; return s.tmp_4; + r0 = pxsim.control.createBuffer(12); + s.buf___12752 = (r0); + s.tmp_0 = music_addNote__P1636_mk(s); + s.tmp_0.arg0 = s.buf___12752; + 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__P1621_mk(s); + s.callLocIdx = 63; s.pc = 2; return s.tmp_1; case 2: r0 = s.retval; - s.tmp_3 = r0; - r0 = pxsim_ImageMethods._drawLine(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5); + s.tmp_0.arg7 = r0; + s.tmp_0.arg8 = s.arg1; + s.callLocIdx = 64; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___12752); r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_imageDrawLine__P38263.info = {"start":5781,"length":159,"line":182,"column":4,"endLine":184,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawLine","argumentNames":["img","x","y","w","h","c"]} +music_playNoteCore__P4458.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 helpers_imageDrawLine__P38263_mk(s) { +function music_playNoteCore__P4458_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imageDrawLine__P38263, depth: s.depth + 1, + parent: s, fn: music_playNoteCore__P4458, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, + buf___12752: undefined, arg0: undefined, arg1: undefined, arg2: undefined, - arg3: undefined, - arg4: undefined, - arg5: undefined, } } -function Math_FastRandom_randomRange__P39624(s) { +function music_addNote__P1636(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14084,58 +13571,87 @@ switch (step) { 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.arg0; - if (!checkSubtype(r0, Math_FastRandom__C39622_VT)) failedCast(r0); - r0 = (s.arg2 > s.arg1); + r0 = (s.arg2 > 0); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - s.tmp_2 = Math_FastRandom_next__P39623_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 968; s.pc = 3; return s.tmp_2; - case 3: - r0 = s.retval; + 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 = (s.arg2 - s.arg1); - s.tmp_4 = r0; - r0 = (s.tmp_4 + 1); + 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_1 % s.tmp_3); - { step = 2; continue; } + 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: - r0 = 0; case 2: - // jmp value (already in r0) - s.tmp_5 = r0; - r0 = (s.arg1 + s.tmp_5); + r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0); + r0 = s.arg1; return leave(s, r0) default: oops() } } } -Math_FastRandom_randomRange__P39624.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"]} +music_addNote__P1636.info = {"start":10288,"length":911,"line":323,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"addNote","argumentNames":["sndInstr","sndInstrPtr","ms","beg","end","soundWave","hz","volume","endHz"]} -function Math_FastRandom_randomRange__P39624_mk(s) { +function music_addNote__P1636_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_FastRandom_randomRange__P39624, depth: s.depth + 1, + parent: s, fn: music_addNote__P1636, depth: s.depth + 1, pc: 0, retval: undefined, 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, + arg4: undefined, + arg5: undefined, + arg6: undefined, + arg7: undefined, + arg8: undefined, } } -function Math_FastRandom_next__P39623(s) { +function music_setVolume__P1620(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14149,43 +13665,40 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Math_FastRandom__C39622_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_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 = 60; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals.globalVolume___4453 = (r0); + r0 = (globals.globalVolume___4453 > 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 = (s.tmp_0).fields["lfsr"] = (s.tmp_1); - r0 = s.tmp_1; + r0 = undefined; + r0 = undefined; return leave(s, r0) default: oops() } } } -Math_FastRandom_next__P39623.info = {"start":1713,"length":107,"line":53,"column":8,"endLine":55,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"next","argumentNames":["this"]} +music_setVolume__P1620.info = {"start":1533,"length":153,"line":51,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"setVolume","argumentNames":["volume"]} -function Math_FastRandom_next__P39623_mk(s) { +function music_setVolume__P1620_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_FastRandom_next__P39623, depth: s.depth + 1, + parent: s, fn: music_setVolume__P1620, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -14193,7 +13706,7 @@ function Math_FastRandom_next__P39623_mk(s) { -function effects_ImageEffect_constructor__P39944(s) { +function music_enableAmp__P4456(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14205,47 +13718,27 @@ switch (step) { 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__C39940_VT)) failedCast(r0); - r0 = (s.arg0).fields["effect"] = (s.arg2); - r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C39622_VT); - s.tmp_0 = r0; - s.tmp_1 = Math_FastRandom_constructor__P39629_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = undefined; - s.callLocIdx = 1261; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - r0 = (s.arg0).fields["fastRandom"] = (s.tmp_0); - r0 = (s.arg0).fields["preferredDelay"] = (s.arg1); - r0 = (s.arg0).fields["times"] = (undefined); r0 = undefined; return leave(s, r0) default: oops() } } } -effects_ImageEffect_constructor__P39944.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"]} +music_enableAmp__P4456.info = {"start":944,"length":64,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"enableAmp","argumentNames":["en"]} -function effects_ImageEffect_constructor__P39944_mk(s) { +function music_enableAmp__P4456_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ImageEffect_constructor__P39944, depth: s.depth + 1, + parent: s, fn: music_enableAmp__P4456, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function effects_ImageEffect_applyTo__P39941(s) { +function scene_systemMenu_volumeUp__P5180(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14255,80 +13748,47 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.clonedImage___46922 = 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__C39940_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; } + s.v___12666 = undefined; + s.remainder___12669 = undefined; + s.newVolume___12672 = undefined; + s.tmp_0 = music_volume__P1621_mk(s); + s.callLocIdx = 1074; s.pc = 1; return s.tmp_0; 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___46922 = (r0); - s.tmp_0 = effects_ImageEffect_change__P39942_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.clonedImage___46922; - s.callLocIdx = 1264; s.pc = 6; return s.tmp_0; - case 6: r0 = s.retval; - s.tmp_0 = Sprite_setImage__P38690_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = s.clonedImage___46922; - s.callLocIdx = 1265; s.pc = 7; return s.tmp_0; - case 7: + s.v___12666 = (r0); + r0 = (s.v___12666 % 32); + s.remainder___12669 = (r0); + r0 = (s.v___12666 + 32); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.remainder___12669); + s.newVolume___12672 = (r0); + s.tmp_0 = scene_systemMenu_setVolume__P5179_mk(s); + s.tmp_0.arg0 = s.newVolume___12672; + s.callLocIdx = 1075; s.pc = 2; return s.tmp_0; + case 2: r0 = s.retval; - case 5: r0 = undefined; return leave(s, r0) default: oops() } } } -effects_ImageEffect_applyTo__P39941.info = {"start":823,"length":218,"line":21,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"applyTo","argumentNames":["this","sprite"]} +scene_systemMenu_volumeUp__P5180.info = {"start":8737,"length":171,"line":271,"column":4,"endLine":276,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeUp","argumentNames":[]} -function effects_ImageEffect_applyTo__P39941_mk(s) { +function scene_systemMenu_volumeUp__P5180_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ImageEffect_applyTo__P39941, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_volumeUp__P5180, depth: s.depth + 1, pc: 0, retval: undefined, 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___46922: undefined, - arg0: undefined, - arg1: undefined, + v___12666: undefined, + remainder___12669: undefined, + newVolume___12672: undefined, } } -function effects_ImageEffect_change__P39942(s) { +function game_consoleOverlay_isVisible__P3123(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14338,50 +13798,33 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C39940_VT)) failedCast(r0); - s.tmp_0 = if_effect_3_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - r0 = s.arg0.fields["fastRandom"]; - s.tmp_0.arg2 = r0; - if (!s.tmp_0.arg0.vtable.iface) { - setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "effect"), 3); - s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; - } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["effect"]; - if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["effect"], 3); s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; } - else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1266; s.pc = 1; return s.tmp_0;; } - else { s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; } - } - case 1: - r0 = s.retval; - r0 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___5221); + 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() } } } -effects_ImageEffect_change__P39942.info = {"start":1151,"length":81,"line":32,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"change","argumentNames":["this","input"]} +game_consoleOverlay_isVisible__P3123.info = {"start":422,"length":68,"line":11,"column":4,"endLine":13,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"isVisible","argumentNames":[]} -function effects_ImageEffect_change__P39942_mk(s) { +function game_consoleOverlay_isVisible__P3123_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ImageEffect_change__P39942, depth: s.depth + 1, + parent: s, fn: game_consoleOverlay_isVisible__P3123, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, - arg1: undefined, + tmp_1: undefined, + tmp_2: undefined, } } -function Sprite_setImage__P38690(s) { +function scene_systemMenu_closeMenu__P3101(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14391,66 +13834,44 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38662_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); + r0 = pxsim_numops_toBoolDecr(globals.instance___5175); 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; } + s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P3100_mk(s); + s.tmp_0.arg0 = globals.instance___5175; + s.callLocIdx = 1090; s.pc = 3; return s.tmp_0; case 3: + r0 = s.retval; + globals.instance___5175 = (undefined); + s.tmp_0 = controller__setUserEventsEnabled__P2206_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 1091; s.pc = 4; return s.tmp_0; case 4: - r0 = (s.arg0).fields["_image"] = (s.arg1); - s.tmp_0 = Sprite__C38662_v5_1_mk(s); - s.tmp_0.arg0 = s.arg0; - if (!checkSubtype(s.tmp_0.arg0, Sprite__C38662_VT)) failedCast(s.tmp_0.arg0); - s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.recalcSize; - s.pc = 6; return s.tmp_0; - case 6: r0 = s.retval; + s.tmp_0 = game_popScene__P3003_mk(s); + s.callLocIdx = 1092; s.pc = 5; return s.tmp_0; case 5: + r0 = s.retval; + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_setImage__P38690.info = {"start":9299,"length":131,"line":332,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setImage","argumentNames":["this","img"]} +scene_systemMenu_closeMenu__P3101.info = {"start":10129,"length":216,"line":320,"column":4,"endLine":327,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"closeMenu","argumentNames":[]} -function Sprite_setImage__P38690_mk(s) { +function scene_systemMenu_closeMenu__P3101_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_setImage__P38690, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_closeMenu__P3101, depth: s.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__P38696(s) { +function scene_systemMenu_PauseMenu_dispose__P3100(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14465,67 +13886,34 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_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__P38680_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 344; 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__P38682_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 346; 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__P38692_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 348; s.pc = 3; return s.tmp_0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_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__P10987; + s.callLocIdx = 1067; s.pc = 3; return s.tmp_1; case 3: r0 = s.retval; + r0 = (s.arg0).fields["options"] = (undefined); + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_recalcSize__P38696.info = {"start":9982,"length":178,"line":363,"column":4,"endLine":367,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"recalcSize","argumentNames":["this"]} +scene_systemMenu_PauseMenu_dispose__P3100.info = {"start":7732,"length":165,"line":243,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]} -function Sprite_recalcSize__P38696_mk(s) { +function scene_systemMenu_PauseMenu_dispose__P3100_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_recalcSize__P38696, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_dispose__P3100, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -14533,7 +13921,7 @@ function Sprite_recalcSize__P38696_mk(s) { -function Sprite_resetHitbox__P38692(s) { +function scene_systemMenu_PauseMenu_dispose_inline__P10987(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14547,26 +13935,21 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = (s.arg0).fields["_hitbox"] = (null); - s.tmp_0 = Sprite__C38662_v4_1_mk(s); + s.tmp_0 = scene_systemMenu_MenuOption_dispose__P3093_mk(s); s.tmp_0.arg0 = s.arg0; - if (!checkSubtype(s.tmp_0.arg0, Sprite__C38662_VT)) failedCast(s.tmp_0.arg0); - s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.setHitbox; - s.pc = 1; return s.tmp_0; + s.callLocIdx = 1066; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_resetHitbox__P38692.info = {"start":9580,"length":76,"line":342,"column":4,"endLine":345,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"resetHitbox","argumentNames":["this"]} +scene_systemMenu_PauseMenu_dispose_inline__P10987.info = {"start":7813,"length":16,"line":245,"column":37,"endLine":245,"endColumn":53,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["o"]} -function Sprite_resetHitbox__P38692_mk(s) { +function scene_systemMenu_PauseMenu_dispose_inline__P10987_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_resetHitbox__P38692, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_dispose_inline__P10987, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -14576,7 +13959,7 @@ function Sprite_resetHitbox__P38692_mk(s) { -function Sprite_setHitbox__P38693(s) { +function scene_systemMenu_MenuOption_dispose__P3093(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14591,42 +13974,44 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_hitbox"]; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C3086_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 = game_Hitbox_updateIfInvalid__P38603_mk(s); - r0 = s.arg0.fields["_hitbox"]; + s.tmp_1 = Sprite_destroy__P2427_mk(s); + r0 = s.arg0.fields["card"]; s.tmp_1.arg0 = r0; - s.callLocIdx = 342; s.pc = 3; return s.tmp_1; + s.tmp_1.arg1 = undefined; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 986; s.pc = 3; return s.tmp_1; case 3: r0 = s.retval; - { step = 2; continue; } - case 1: - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = game_calculateHitBox__P38606_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 343; s.pc = 4; return s.tmp_2; + s.tmp_0 = Sprite_destroy__P2427_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = undefined; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 987; s.pc = 4; return s.tmp_0; case 4: r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_hitbox"] = (s.tmp_1); + r0 = (s.arg0).fields["card"] = (undefined); + r0 = (s.arg0).fields["icon"] = (undefined); + case 1: case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_setHitbox__P38693.info = {"start":9662,"length":173,"line":347,"column":4,"endLine":353,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setHitbox","argumentNames":["this"]} +scene_systemMenu_MenuOption_dispose__P3093.info = {"start":1812,"length":216,"line":77,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]} -function Sprite_setHitbox__P38693_mk(s) { +function scene_systemMenu_MenuOption_dispose__P3093_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_setHitbox__P38693, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_dispose__P3093, 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, } } @@ -14634,7 +14019,7 @@ function Sprite_setHitbox__P38693_mk(s) { -function game_calculateHitBox__P38606(s) { +function Sprite_destroy__P2427(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14644,215 +14029,74 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.i___46989 = undefined; - s.minX___46992 = undefined; - s.minY___46996 = undefined; - s.maxX___47000 = undefined; - s.maxY___47002 = undefined; - s.c___47004 = undefined; - s.fxc___47005 = undefined; - s.r___47012 = undefined; - s.fxr___47013 = undefined; - s.width___47080 = undefined; - s.height___47088 = 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.fields["_hitbox"]; + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + 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 = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 5; continue; } case 1: - s.tmp_1 = game_Hitbox_isValid__P38601_mk(s); - r0 = s.arg0.fields["_hitbox"]; - s.tmp_1.arg0 = r0; - s.callLocIdx = 276; 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); + 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; } - r0 = s.arg0.fields["_hitbox"]; - { step = 11; continue; } - case 3: - case 4: - r0 = s.arg0.fields["_image"]; - s.i___46989 = (r0); - r0 = pxsim_ImageMethods.width(s.i___46989); - s.tmp_0 = r0; - r0 = (s.tmp_0 * 256); - s.tmp_1 = r0; - r0 = (s.tmp_1 | 0); - s.minX___46992 = (r0); - r0 = pxsim_ImageMethods.height(s.i___46989); - s.tmp_0 = r0; - r0 = (s.tmp_0 * 256); - s.tmp_1 = r0; - r0 = (s.tmp_1 | 0); - s.minY___46996 = (r0); - s.maxX___47000 = (0); - s.maxY___47002 = (0); - s.c___47004 = (0); - s.fxc___47005 = (0); - case 5: - s.tmp_1 = r0 = s.c___47004; - r0 = pxsim_ImageMethods.width(s.i___46989); - 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___47012 = (0); - s.fxr___47013 = (0); + s.tmp_0 = effects_ParticleEffect_destroy__P3264_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = undefined; + s.callLocIdx = 431; s.pc = 6; return s.tmp_0; case 6: - s.tmp_1 = r0 = s.r___47012; - r0 = pxsim_ImageMethods.height(s.i___46989); - 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___46989, s.c___47004, s.r___47012); - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 7; continue; } - s.tmp_4 = Fx_min__P37641_mk(s); - s.tmp_4.arg0 = s.minX___46992; - s.tmp_4.arg1 = s.fxc___47005; - s.callLocIdx = 280; s.pc = 13; return s.tmp_4; - case 13: - r0 = s.retval; - s.minX___46992 = (r0); - s.tmp_0 = Fx_min__P37641_mk(s); - s.tmp_0.arg0 = s.minY___46996; - s.tmp_0.arg1 = s.fxr___47013; - s.callLocIdx = 281; s.pc = 14; return s.tmp_0; - case 14: - r0 = s.retval; - s.minY___46996 = (r0); - s.tmp_0 = Fx_max__P37642_mk(s); - s.tmp_0.arg0 = s.maxX___47000; - s.tmp_0.arg1 = s.fxc___47005; - s.callLocIdx = 282; s.pc = 15; return s.tmp_0; - case 15: r0 = s.retval; - s.maxX___47000 = (r0); - s.tmp_0 = Fx_max__P37642_mk(s); - s.tmp_0.arg0 = s.maxY___47002; - s.tmp_0.arg1 = s.fxr___47013; - s.callLocIdx = 283; s.pc = 16; return s.tmp_0; - case 16: - r0 = s.retval; - s.maxY___47002 = (r0); + { step = 4; continue; } + case 3: + s.tmp_0 = Sprite__destroyCore__P2428_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 432; s.pc = 7; return s.tmp_0; case 7: - case 8: - r0 = (s.r___47012 + 1); - s.r___47012 = (r0); - r0 = (s.fxr___47013 + 256); - s.tmp_0 = r0; - s.fxr___47013 = (r0); - r0 = s.tmp_0; - { step = 6; continue; } - case 9: - r0 = (s.c___47004 + 1); - s.c___47004 = (r0); - r0 = (s.fxc___47005 + 256); - s.tmp_0 = r0; - s.fxc___47005 = (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___46992, s.tmp_0); - s.tmp_1 = r0; - r0 = (s.tmp_1 >> 8); - s.minX___46992 = (r0); - r0 = s.arg0.fields["_sy"]; - s.tmp_0 = r0; - r0 = pxsim.Math_.imul(s.minY___46996, s.tmp_0); - s.tmp_1 = r0; - r0 = (s.tmp_1 >> 8); - s.minY___46996 = (r0); - r0 = s.arg0.fields["_sx"]; - s.tmp_0 = r0; - r0 = pxsim.Math_.imul(s.maxX___47000, s.tmp_0); - s.tmp_1 = r0; - r0 = (s.tmp_1 >> 8); - s.maxX___47000 = (r0); - r0 = s.arg0.fields["_sy"]; - s.tmp_0 = r0; - r0 = pxsim.Math_.imul(s.maxY___47002, s.tmp_0); - s.tmp_1 = r0; - r0 = (s.tmp_1 >> 8); - s.maxY___47002 = (r0); - r0 = (s.maxX___47000 - s.minX___46992); - s.tmp_0 = r0; - r0 = s.arg0.fields["_sx"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); - s.width___47080 = (r0); - r0 = (s.maxY___47002 - s.minY___46996); - s.tmp_0 = r0; - r0 = s.arg0.fields["_sy"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); - s.height___47088 = (r0); - r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C38596_VT); - s.tmp_0 = r0; - s.tmp_1 = game_Hitbox_constructor__P38605_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = s.arg0; - s.tmp_1.arg2 = s.width___47080; - s.tmp_1.arg3 = s.height___47088; - r0 = (s.minX___46992 & -256); - s.tmp_1.arg4 = r0; - r0 = (s.minY___46996 & -256); - s.tmp_1.arg5 = r0; - s.callLocIdx = 296; s.pc = 17; return s.tmp_1; - case 17: r0 = s.retval; - r0 = s.tmp_0; - case 11: + case 4: + case 5: + r0 = undefined; return leave(s, r0) default: oops() } } } -game_calculateHitBox__P38606.info = {"start":3223,"length":1086,"line":103,"column":4,"endLine":132,"endColumn":5,"fileName":"pxt_modules/game/hitbox.ts","functionName":"calculateHitBox","argumentNames":["s"]} +Sprite_destroy__P2427.info = {"start":26333,"length":293,"line":857,"column":4,"endLine":866,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"destroy","argumentNames":["this","effect","duration"]} -function game_calculateHitBox__P38606_mk(s) { +function Sprite_destroy__P2427_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_calculateHitBox__P38606, depth: s.depth + 1, + parent: s, fn: Sprite_destroy__P2427, depth: s.depth + 1, pc: 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___46989: undefined, - minX___46992: undefined, - minY___46996: undefined, - maxX___47000: undefined, - maxY___47002: undefined, - c___47004: undefined, - fxc___47005: undefined, - r___47012: undefined, - fxr___47013: undefined, - width___47080: undefined, - height___47088: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function game_Hitbox_constructor__P38605(s) { +function effects_ParticleEffect_destroy__P3264(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14867,52 +14111,83 @@ switch (step) { 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__C38596_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = Sprite_calcDimensionalHash__P38691_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 220; s.pc = 1; return s.tmp_2; - case 1: + if (!checkSubtype(r0, effects_ParticleEffect__C3261_VT)) failedCast(r0); + s.tmp_0 = Sprite_setFlag__P2418_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 7168; + s.tmp_0.arg2 = true; + s.callLocIdx = 1251; s.pc = 3; return s.tmp_0; + case 3: r0 = s.retval; + s.tmp_0 = effects_ParticleEffect_start__P3263_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 = (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 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0.arg4 = r0; + s.callLocIdx = 1252; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 1; continue; } + r0 = s.arg2; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["defaultLifespan"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 2); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg1).fields["lifespan"] = (s.tmp_1); + s.tmp_0 = effects_ImageEffect_applyTo__P3291_mk(s); + s.tmp_0.arg0 = globals.dissolve___3294; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1253; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -game_Hitbox_constructor__P38605.info = {"start":173,"length":288,"line":9,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"inline","argumentNames":["this","parent","width","height","ox","oy"]} +effects_ParticleEffect_destroy__P3264.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 game_Hitbox_constructor__P38605_mk(s) { +function effects_ParticleEffect_destroy__P3264_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_Hitbox_constructor__P38605, depth: s.depth + 1, + parent: s, fn: effects_ParticleEffect_destroy__P3264, depth: s.depth + 1, pc: 0, retval: undefined, 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, - arg4: undefined, - arg5: undefined, } } -function Sprite_calcDimensionalHash__P38691(s) { +function dissolve_inline__P11132(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14922,58 +14197,105 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.i___11135 = undefined; + s.x___11146 = undefined; + s.y___11152 = undefined; + s.w___11158 = undefined; + s.h___11162 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_image"]; - s.tmp_2 = r0; - r0 = pxsim_ImageMethods.revision(s.tmp_2); + r0 = pxsim_ImageMethods.width(s.arg0); s.tmp_1 = r0; - r0 = s.arg0.fields["_width"]; - s.tmp_4 = r0; - r0 = (8 + 8); - s.tmp_5 = r0; - r0 = (s.tmp_4 >> s.tmp_5); - s.tmp_3 = r0; - r0 = (s.tmp_1 + s.tmp_3); + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); s.tmp_0 = r0; - r0 = s.arg0.fields["_height"]; - s.tmp_7 = r0; - r0 = (16 + 8); - s.tmp_8 = r0; - r0 = (s.tmp_7 >> s.tmp_8); - s.tmp_6 = r0; - r0 = (s.tmp_0 + s.tmp_6); + r0 = (s.tmp_0 >> 5); + s.i___11135 = (r0); + case 1: + r0 = (s.i___11135 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 0; + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1.arg2 = r0; + s.callLocIdx = 52; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.x___11146 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 0; + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 53; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.y___11152 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 3; + s.callLocIdx = 54; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.w___11158 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 3; + s.callLocIdx = 55; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.h___11162 = (r0); + s.tmp_0 = helpers_imageDrawRect__P1959_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.x___11146; + s.tmp_0.arg2 = s.y___11152; + s.tmp_0.arg3 = s.w___11158; + s.tmp_0.arg4 = s.h___11162; + s.tmp_0.arg5 = 0; + s.callLocIdx = 56; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = (s.i___11135 - 1); + s.i___11135 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_calcDimensionalHash__P38691.info = {"start":9436,"length":138,"line":338,"column":4,"endLine":340,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"calcDimensionalHash","argumentNames":["this"]} +dissolve_inline__P11132.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 Sprite_calcDimensionalHash__P38691_mk(s) { +function dissolve_inline__P11132_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_calcDimensionalHash__P38691, depth: s.depth + 1, + parent: s, fn: dissolve_inline__P11132, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, + i___11135: undefined, + x___11146: undefined, + y___11152: undefined, + w___11158: undefined, + h___11162: undefined, arg0: undefined, + arg1: undefined, } } -function Fx_toIntShifted__P37631(s) { +function helpers_imageDrawRect__P1959(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -14986,33 +14308,107 @@ switch (step) { 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; - r0 = (s.arg1 + 8); + 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 = (s.tmp_0 >> s.tmp_1); + 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__P1958_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 = 84; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P1958_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 = 85; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P1958_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 = 86; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P1958_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 = 87; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 5: + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx_toIntShifted__P37631.info = {"start":404,"length":102,"line":17,"column":4,"endLine":19,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toIntShifted","argumentNames":["a","n"]} +helpers_imageDrawRect__P1959.info = {"start":5945,"length":370,"line":185,"column":4,"endLine":193,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawRect","argumentNames":["img","x","y","w","h","c"]} -function Fx_toIntShifted__P37631_mk(s) { +function helpers_imageDrawRect__P1959_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_toIntShifted__P37631, depth: s.depth + 1, + parent: s, fn: helpers_imageDrawRect__P1959, 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 game_Hitbox_isValid__P38601(s) { +function helpers_imageDrawLine__P1958(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15024,41 +14420,58 @@ switch (step) { 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__C38596_VT)) failedCast(r0); - r0 = s.arg0.fields["hash"]; - s.tmp_0 = r0; - s.tmp_2 = Sprite_calcDimensionalHash__P38691_mk(s); - r0 = s.arg0.fields["parent"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 229; s.pc = 1; return s.tmp_2; + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = helpers_pack__P4559_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_2.arg1 = s.arg2; + s.callLocIdx = 82; s.pc = 1; return s.tmp_2; case 1: r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_0 === s.tmp_1); + s.tmp_4 = helpers_pack__P4559_mk(s); + s.tmp_4.arg0 = s.arg3; + s.tmp_4.arg1 = s.arg4; + s.callLocIdx = 83; 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() } } } -game_Hitbox_isValid__P38601.info = {"start":935,"length":89,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"isValid","argumentNames":["this"]} +helpers_imageDrawLine__P1958.info = {"start":5781,"length":159,"line":182,"column":4,"endLine":184,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawLine","argumentNames":["img","x","y","w","h","c"]} -function game_Hitbox_isValid__P38601_mk(s) { +function helpers_imageDrawLine__P1958_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_Hitbox_isValid__P38601, depth: s.depth + 1, + parent: s, fn: helpers_imageDrawLine__P1958, depth: s.depth + 1, pc: 0, retval: 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 Fx_floor__P37643(s) { +function Math_FastRandom_randomRange__P3062(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15070,27 +14483,60 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - r0 = (s.arg0 & -256); + r0 = s.arg0; + if (!checkSubtype(r0, Math_FastRandom__C3058_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__P3061_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 968; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.arg2 - s.arg1); + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 % s.tmp_3); + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = (s.arg1 + s.tmp_5); return leave(s, r0) default: oops() } } } -Fx_floor__P37643.info = {"start":1919,"length":103,"line":62,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"floor","argumentNames":["v"]} +Math_FastRandom_randomRange__P3062.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 Fx_floor__P37643_mk(s) { +function Math_FastRandom_randomRange__P3062_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_floor__P37643, depth: s.depth + 1, + parent: s, fn: Math_FastRandom_randomRange__P3062, depth: s.depth + 1, pc: 0, retval: undefined, 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_max__P37642(s) { +function Math_FastRandom_next__P3061(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15102,42 +14548,53 @@ switch (step) { 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: + if (!checkSubtype(r0, Math_FastRandom__C3058_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() } } } -Fx_max__P37642.info = {"start":1797,"length":117,"line":56,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"max","argumentNames":["a","b"]} +Math_FastRandom_next__P3061.info = {"start":1713,"length":107,"line":53,"column":8,"endLine":55,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"next","argumentNames":["this"]} -function Fx_max__P37642_mk(s) { +function Math_FastRandom_next__P3061_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_max__P37642, depth: s.depth + 1, + parent: s, fn: Math_FastRandom_next__P3061, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 Fx_min__P37641(s) { +function effects_ImageEffect_constructor__P3290(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15150,41 +14607,46 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); 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; } + if (!checkSubtype(r0, effects_ImageEffect__C3289_VT)) failedCast(r0); + r0 = (s.arg0).fields["effect"] = (s.arg2); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C3058_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P3060_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1261; s.pc = 1; return s.tmp_1; case 1: - r0 = s.arg1; - { step = 3; continue; } - case 2: + 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; - case 3: return leave(s, r0) default: oops() } } } -Fx_min__P37641.info = {"start":1675,"length":117,"line":50,"column":4,"endLine":55,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"min","argumentNames":["a","b"]} +effects_ImageEffect_constructor__P3290.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 Fx_min__P37641_mk(s) { +function effects_ImageEffect_constructor__P3290_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_min__P37641, depth: s.depth + 1, + parent: s, fn: effects_ImageEffect_constructor__P3290, 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 Fx_mul__P37635(s) { +function effects_ImageEffect_applyTo__P3291(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15194,25 +14656,71 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.clonedImage___11311 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim.Math_.imul(s.arg0, s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, effects_ImageEffect__C3289_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 = (s.tmp_0 >> 8); + 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___11311 = (r0); + s.tmp_0 = effects_ImageEffect_change__P3292_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.clonedImage___11311; + s.callLocIdx = 1264; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = Sprite_setImage__P2390_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.clonedImage___11311; + s.callLocIdx = 1265; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + case 5: + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx_mul__P37635.info = {"start":872,"length":133,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"mul","argumentNames":["a","b"]} +effects_ImageEffect_applyTo__P3291.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 Fx_mul__P37635_mk(s) { +function effects_ImageEffect_applyTo__P3291_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_mul__P37635, depth: s.depth + 1, + parent: s, fn: effects_ImageEffect_applyTo__P3291, depth: s.depth + 1, pc: 0, retval: undefined, 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___11311: undefined, arg0: undefined, arg1: undefined, } } @@ -15221,7 +14729,7 @@ function Fx_mul__P37635_mk(s) { -function Fx_sub__P37634(s) { +function effects_ImageEffect_change__P3292(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15236,17 +14744,36 @@ switch (step) { s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 - s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, effects_ImageEffect__C3289_VT)) failedCast(r0); + s.tmp_0 = if_effect_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + r0 = s.arg0.fields["fastRandom"]; + s.tmp_0.arg2 = r0; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "effect"), 3); + s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["effect"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["effect"], 3); s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1266; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx_sub__P37634.info = {"start":749,"length":118,"line":26,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"sub","argumentNames":["a","b"]} +effects_ImageEffect_change__P3292.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 Fx_sub__P37634_mk(s) { +function effects_ImageEffect_change__P3292_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_sub__P37634, depth: s.depth + 1, + parent: s, fn: effects_ImageEffect_change__P3292, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, arg0: undefined, arg1: undefined, } } @@ -15255,7 +14782,7 @@ function Fx_sub__P37634_mk(s) { -function game_Hitbox_updateIfInvalid__P38603(s) { +function Sprite_setImage__P2390(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15265,155 +14792,66 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.newHitBox___47196 = undefined; - s.oMinX___47201 = undefined; - s.oMinY___47204 = undefined; - s.oMaxX___47207 = undefined; - s.oMaxY___47213 = undefined; - s.nMinX___47219 = undefined; - s.nMinY___47222 = undefined; - s.nMaxX___47225 = undefined; - s.nMaxY___47231 = undefined; - s.xDiff___47237 = undefined; - s.yDiff___47248 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, game_Hitbox__C38596_VT)) failedCast(r0); - s.tmp_1 = game_Hitbox_isValid__P38601_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 234; s.pc = 8; return s.tmp_1; - case 8: - r0 = s.retval; + if (!checkSubtype(r0, Sprite__C2340_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); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - { step = 7; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: - case 2: - s.tmp_2 = game_calculateHitBox__P38606_mk(s); - r0 = s.arg0.fields["parent"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 235; s.pc = 9; return s.tmp_2; - case 9: - r0 = s.retval; - s.newHitBox___47196 = (r0); - r0 = s.arg0.fields["ox"]; - s.oMinX___47201 = (r0); - r0 = s.arg0.fields["oy"]; - s.oMinY___47204 = (r0); - r0 = s.arg0.fields["width"]; - s.tmp_0 = r0; - r0 = (s.oMinX___47201 + s.tmp_0); - s.oMaxX___47207 = (r0); - r0 = s.arg0.fields["height"]; - s.tmp_0 = r0; - r0 = (s.oMinY___47204 + s.tmp_0); - s.oMaxY___47213 = (r0); - r0 = s.newHitBox___47196.fields["ox"]; - s.nMinX___47219 = (r0); - r0 = s.newHitBox___47196.fields["oy"]; - s.nMinY___47222 = (r0); - r0 = s.newHitBox___47196.fields["width"]; - s.tmp_0 = r0; - r0 = (s.nMinX___47219 + s.tmp_0); - s.nMaxX___47225 = (r0); - r0 = s.newHitBox___47196.fields["height"]; - s.tmp_0 = r0; - r0 = (s.nMinY___47222 + s.tmp_0); - s.nMaxY___47231 = (r0); - s.tmp_1 = Fx_abs__P37640_mk(s); - r0 = (s.oMinX___47201 - s.nMinX___47219); - s.tmp_1.arg0 = r0; - s.callLocIdx = 241; s.pc = 10; return s.tmp_1; - case 10: - r0 = s.retval; - s.tmp_0 = r0; - s.tmp_3 = Fx_abs__P37640_mk(s); - r0 = (s.oMaxX___47207 - s.nMaxX___47225); - s.tmp_3.arg0 = r0; - s.callLocIdx = 243; s.pc = 11; return s.tmp_3; - case 11: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_0 + s.tmp_2); - s.xDiff___47237 = (r0); - s.tmp_1 = Fx_abs__P37640_mk(s); - r0 = (s.oMinY___47204 - s.nMinY___47222); - s.tmp_1.arg0 = r0; - s.callLocIdx = 246; s.pc = 12; return s.tmp_1; - case 12: - r0 = s.retval; - s.tmp_0 = r0; - s.tmp_3 = Fx_abs__P37640_mk(s); - r0 = (s.oMaxY___47213 - s.nMaxY___47231); - s.tmp_3.arg0 = r0; - s.callLocIdx = 248; s.pc = 13; return s.tmp_3; - case 13: - r0 = s.retval; + r0 = s.arg0.fields["_image"]; s.tmp_2 = r0; - r0 = (s.tmp_0 + s.tmp_2); - s.yDiff___47248 = (r0); - r0 = (s.xDiff___47237 > 512); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + 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; } - r0 = (s.arg0).fields["ox"] = (s.nMinX___47219); - r0 = s.newHitBox___47196.fields["width"]; - s.tmp_0 = r0; - r0 = (s.arg0).fields["width"] = (s.tmp_0); + { step = 5; continue; } case 3: case 4: - r0 = (s.yDiff___47248 > 512); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - r0 = (s.arg0).fields["oy"] = (s.nMinY___47222); - r0 = s.newHitBox___47196.fields["height"]; - s.tmp_0 = r0; - r0 = (s.arg0).fields["height"] = (s.tmp_0); - case 5: + r0 = (s.arg0).fields["_image"] = (s.arg1); + s.tmp_0 = Sprite__C2340_v5_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, Sprite__C2340_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.recalcSize; + s.pc = 6; return s.tmp_0; case 6: - r0 = s.newHitBox___47196.fields["hash"]; - s.tmp_0 = r0; - r0 = (s.arg0).fields["hash"] = (s.tmp_0); - case 7: + r0 = s.retval; + case 5: r0 = undefined; return leave(s, r0) default: oops() } } } -game_Hitbox_updateIfInvalid__P38603.info = {"start":1188,"length":1317,"line":48,"column":8,"endLine":85,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"updateIfInvalid","argumentNames":["this"]} +Sprite_setImage__P2390.info = {"start":9299,"length":131,"line":332,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setImage","argumentNames":["this","img"]} -function game_Hitbox_updateIfInvalid__P38603_mk(s) { +function Sprite_setImage__P2390_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_Hitbox_updateIfInvalid__P38603, depth: s.depth + 1, + parent: s, fn: Sprite_setImage__P2390, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, - newHitBox___47196: undefined, - oMinX___47201: undefined, - oMinY___47204: undefined, - oMaxX___47207: undefined, - oMaxY___47213: undefined, - nMinX___47219: undefined, - nMinY___47222: undefined, - nMaxX___47225: undefined, - nMaxY___47231: undefined, - xDiff___47237: undefined, - yDiff___47248: undefined, arg0: undefined, + arg1: undefined, } } -function Fx_abs__P37640(s) { +function Sprite_recalcSize__P4730(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15427,30 +14865,68 @@ switch (step) { 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; } + if (!checkSubtype(r0, Sprite__C2340_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__P2369_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 344; 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__P2371_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 346; s.pc = 2; return s.tmp_6; case 2: - r0 = undefined; + 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__P2392_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 348; s.pc = 3; return s.tmp_0; case 3: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx_abs__P37640.info = {"start":1506,"length":164,"line":44,"column":4,"endLine":49,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"abs","argumentNames":["a"]} +Sprite_recalcSize__P4730.info = {"start":9982,"length":178,"line":363,"column":4,"endLine":367,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"recalcSize","argumentNames":["this"]} -function Fx_abs__P37640_mk(s) { +function Sprite_recalcSize__P4730_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_abs__P37640, depth: s.depth + 1, + parent: s, fn: Sprite_recalcSize__P4730, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -15458,7 +14934,7 @@ function Fx_abs__P37640_mk(s) { -function Sprite_sy__P38682(s) { +function Sprite_resetHitbox__P2392(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15473,20 +14949,25 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_sy"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = (s.arg0).fields["_hitbox"] = (null); + s.tmp_0 = Sprite__C2340_v4_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, Sprite__C2340_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.setHitbox; + s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) default: oops() } } } -Sprite_sy__P38682.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__P38682.isGetter = true; +Sprite_resetHitbox__P2392.info = {"start":9580,"length":76,"line":342,"column":4,"endLine":345,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"resetHitbox","argumentNames":["this"]} -function Sprite_sy__P38682_mk(s) { +function Sprite_resetHitbox__P2392_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_sy__P38682, depth: s.depth + 1, + parent: s, fn: Sprite_resetHitbox__P2392, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -15496,7 +14977,7 @@ function Sprite_sy__P38682_mk(s) { -function Sprite_sx__P38680(s) { +function Sprite_setHitbox__P2393(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15511,22 +14992,42 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_sx"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_hitbox"]; s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = game_Hitbox_updateIfInvalid__P2222_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 342; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = game_calculateHitBox__P2224_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 343; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_hitbox"] = (s.tmp_1); + case 2: + r0 = undefined; + return leave(s, r0) default: oops() } } } -Sprite_sx__P38680.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__P38680.isGetter = true; +Sprite_setHitbox__P2393.info = {"start":9662,"length":173,"line":347,"column":4,"endLine":353,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setHitbox","argumentNames":["this"]} -function Sprite_sx__P38680_mk(s) { +function Sprite_setHitbox__P2393_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_sx__P38680, depth: s.depth + 1, + parent: s, fn: Sprite_setHitbox__P2393, 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, } } @@ -15534,7 +15035,7 @@ function Sprite_sx__P38680_mk(s) { -function Sprite_image__P38689(s) { +function game_calculateHitBox__P2224(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15544,24 +15045,207 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.i___11376 = undefined; + s.minX___11379 = undefined; + s.minY___11383 = undefined; + s.maxX___11387 = undefined; + s.maxY___11389 = undefined; + s.c___11391 = undefined; + s.fxc___11392 = undefined; + s.r___11399 = undefined; + s.fxr___11400 = undefined; + s.width___11464 = undefined; + s.height___11472 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); + 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__P2220_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 276; 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"]; - return leaveAccessor(s, r0) + s.i___11376 = (r0); + r0 = pxsim_ImageMethods.width(s.i___11376); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.minX___11379 = (r0); + r0 = pxsim_ImageMethods.height(s.i___11376); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.minY___11383 = (r0); + s.maxX___11387 = (0); + s.maxY___11389 = (0); + s.c___11391 = (0); + s.fxc___11392 = (0); + case 5: + s.tmp_1 = r0 = s.c___11391; + r0 = pxsim_ImageMethods.width(s.i___11376); + 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___11399 = (0); + s.fxr___11400 = (0); + case 6: + s.tmp_1 = r0 = s.r___11399; + r0 = pxsim_ImageMethods.height(s.i___11376); + 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___11376, s.c___11391, s.r___11399); + 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___11379; + s.tmp_4.arg1 = s.fxc___11392; + s.callLocIdx = 280; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + s.minX___11379 = (r0); + s.tmp_0 = Fx_min__P166_mk(s); + s.tmp_0.arg0 = s.minY___11383; + s.tmp_0.arg1 = s.fxr___11400; + s.callLocIdx = 281; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.minY___11383 = (r0); + s.tmp_0 = Fx_max__P167_mk(s); + s.tmp_0.arg0 = s.maxX___11387; + s.tmp_0.arg1 = s.fxc___11392; + s.callLocIdx = 282; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + s.maxX___11387 = (r0); + s.tmp_0 = Fx_max__P167_mk(s); + s.tmp_0.arg0 = s.maxY___11389; + s.tmp_0.arg1 = s.fxr___11400; + s.callLocIdx = 283; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.maxY___11389 = (r0); + case 7: + case 8: + r0 = (s.r___11399 + 1); + s.r___11399 = (r0); + r0 = (s.fxr___11400 + 256); + s.tmp_0 = r0; + s.fxr___11400 = (r0); + r0 = s.tmp_0; + { step = 6; continue; } + case 9: + r0 = (s.c___11391 + 1); + s.c___11391 = (r0); + r0 = (s.fxc___11392 + 256); + s.tmp_0 = r0; + s.fxc___11392 = (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___11379, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.minX___11379 = (r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.minY___11383, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.minY___11383 = (r0); + r0 = s.arg0.fields["_sx"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.maxX___11387, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.maxX___11387 = (r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.maxY___11389, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.maxY___11389 = (r0); + r0 = (s.maxX___11387 - s.minX___11379); + s.tmp_0 = r0; + r0 = s.arg0.fields["_sx"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.width___11464 = (r0); + r0 = (s.maxY___11389 - s.minY___11383); + s.tmp_0 = r0; + r0 = s.arg0.fields["_sy"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.height___11472 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C2208_VT); + s.tmp_0 = r0; + s.tmp_1 = game_Hitbox_constructor__P2215_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.width___11464; + s.tmp_1.arg3 = s.height___11472; + r0 = (s.minX___11379 & -256); + s.tmp_1.arg4 = r0; + r0 = (s.minY___11383 & -256); + s.tmp_1.arg5 = r0; + s.callLocIdx = 296; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + r0 = s.tmp_0; + case 11: + return leave(s, r0) default: oops() } } } -Sprite_image__P38689.info = {"start":9023,"length":54,"line":322,"column":4,"endLine":324,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"image","argumentNames":["this"]} -Sprite_image__P38689.isGetter = true; +game_calculateHitBox__P2224.info = {"start":3223,"length":1086,"line":103,"column":4,"endLine":132,"endColumn":5,"fileName":"pxt_modules/game/hitbox.ts","functionName":"calculateHitBox","argumentNames":["s"]} -function Sprite_image__P38689_mk(s) { +function game_calculateHitBox__P2224_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_image__P38689, depth: s.depth + 1, + parent: s, fn: game_calculateHitBox__P2224, depth: s.depth + 1, pc: 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___11376: undefined, + minX___11379: undefined, + minY___11383: undefined, + maxX___11387: undefined, + maxY___11389: undefined, + c___11391: undefined, + fxc___11392: undefined, + r___11399: undefined, + fxr___11400: undefined, + width___11464: undefined, + height___11472: undefined, arg0: undefined, } } @@ -15569,7 +15253,7 @@ function Sprite_image__P38689_mk(s) { -function effects_ParticleEffect_start__P39888(s) { +function game_Hitbox_isValid__P2220(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15579,112 +15263,43 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.src___47317 = 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__C39887_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); + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + r0 = s.arg0.fields["hash"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - { step = 9; continue; } + s.tmp_2 = Sprite_calcDimensionalHash__P2391_mk(s); + r0 = s.arg0.fields["parent"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 229; s.pc = 1; return s.tmp_2; case 1: - case 2: - r0 = pxsim_numops_toBoolDecr(s.arg3); - if (!r0) { step = 3; continue; } - r0 = s.arg3; - { step = 4; continue; } - case 3: - r0 = s.arg0.fields["defaultRate"]; - case 4: - // jmp value (already in r0) - s.tmp_3 = r0; - s.tmp_4 = if_sourceFactory_3_mk(s); - s.tmp_4.arg0 = s.arg0; - s.tmp_4.arg1 = s.arg1; - s.tmp_4.arg2 = s.tmp_3; - if (!s.tmp_4.arg0.vtable.iface) { - setupLambda(s.tmp_4, pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "sourceFactory"), 3); - s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; - } else { - s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["sourceFactory"]; - if (s.tmp_4.fn == null) { setupLambda(s.tmp_4, s.tmp_4.arg0.fields["sourceFactory"], 3); s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; } - else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 1249; s.pc = 10; return s.tmp_4;; } - else { s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; } - } - case 10: - r0 = s.retval; - s.src___47317 = (r0); - s.tmp_0 = particles_ParticleSource_setRelativeToCamera__P39767_mk(s); - s.tmp_0.arg0 = s.src___47317; - r0 = pxsim_numops_toBoolDecr(s.arg4); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 1250; s.pc = 11; return s.tmp_0; - case 11: r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 7; continue; } - r0 = (s.arg2 > 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - r0 = s.arg2; - { step = 6; continue; } - case 5: - r0 = s.arg0.fields["defaultLifespan"]; - case 6: - // jmp value (already in r0) s.tmp_1 = r0; - r0 = (s.src___47317).fields["lifespan"] = (s.tmp_1); - case 7: - case 8: - case 9: - r0 = undefined; + r0 = (s.tmp_0 === s.tmp_1); return leave(s, r0) default: oops() } } } -effects_ParticleEffect_start__P39888.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"]} +game_Hitbox_isValid__P2220.info = {"start":935,"length":89,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"isValid","argumentNames":["this"]} -function effects_ParticleEffect_start__P39888_mk(s) { +function game_Hitbox_isValid__P2220_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ParticleEffect_start__P39888, depth: s.depth + 1, + parent: s, fn: game_Hitbox_isValid__P2220, depth: s.depth + 1, pc: 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___47317: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, } } -function particles_ParticleSource_setRelativeToCamera__P39767(s) { +function Sprite_calcDimensionalHash__P2391(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15696,57 +15311,56 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_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"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; s.tmp_2 = r0; - r0 = (s.tmp_2 | 4); + r0 = pxsim_ImageMethods.revision(s.tmp_2); 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"]; + r0 = s.arg0.fields["_width"]; s.tmp_4 = r0; - r0 = (~ s.tmp_4); + r0 = (8 + 8); + s.tmp_5 = r0; + r0 = (s.tmp_4 >> s.tmp_5); 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; + r0 = (s.tmp_1 + s.tmp_3); + s.tmp_0 = r0; + r0 = s.arg0.fields["_height"]; + s.tmp_7 = r0; + r0 = (16 + 8); + s.tmp_8 = r0; + r0 = (s.tmp_7 >> s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_0 + s.tmp_6); return leave(s, r0) default: oops() } } } -particles_ParticleSource_setRelativeToCamera__P39767.info = {"start":6439,"length":173,"line":211,"column":8,"endLine":214,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setRelativeToCamera","argumentNames":["this","on"]} +Sprite_calcDimensionalHash__P2391.info = {"start":9436,"length":138,"line":338,"column":4,"endLine":340,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"calcDimensionalHash","argumentNames":["this"]} -function particles_ParticleSource_setRelativeToCamera__P39767_mk(s) { +function Sprite_calcDimensionalHash__P2391_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_setRelativeToCamera__P39767, depth: s.depth + 1, + parent: s, fn: Sprite_calcDimensionalHash__P2391, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 Sprite_setFlag__P38720(s) { +function Fx_toIntShifted__P156(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15759,58 +15373,33 @@ switch (step) { 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__C38662_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); + r0 = (s.arg1 + 8); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); - case 2: - r0 = undefined; + r0 = (s.tmp_0 >> s.tmp_1); return leave(s, r0) default: oops() } } } -Sprite_setFlag__P38720.info = {"start":20205,"length":130,"line":676,"column":4,"endLine":679,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setFlag","argumentNames":["this","flag","on"]} +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 Sprite_setFlag__P38720_mk(s) { +function Fx_toIntShifted__P156_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_setFlag__P38720, depth: s.depth + 1, + 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, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function Sprite__destroyCore__P38730(s) { +function game_Hitbox_constructor__P2215(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15820,134 +15409,57 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___46643 = 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, Sprite__C38662_VT)) failedCast(r0); + if (!checkSubtype(r0, game_Hitbox__C2208_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__P38454_mk(s); - s.callLocIdx = 433; s.pc = 7; return s.tmp_0; - case 7: - r0 = s.retval; - s.scene___46643 = (r0); - r0 = s.scene___46643.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; } + s.tmp_2 = Sprite_calcDimensionalHash__P2391_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 220; s.pc = 1; return s.tmp_2; case 1: - r0 = s.scene___46643.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__P38774_mk(s); - r0 = s.scene___46643.fields["spritesByKind"]; - s.tmp_6 = r0; - r0 = s.arg0.fields["_kind"]; - s.tmp_7 = r0; - r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7); - s.tmp_5.arg0 = r0; - s.tmp_5.arg1 = s.arg0; - s.callLocIdx = 437; s.pc = 8; return s.tmp_5; - case 8: r0 = s.retval; - case 3: - case 4: - s.tmp_0 = PhysicsEngine__C38804_v1_2_mk(s); - r0 = s.scene___46643.fields["physicsEngine"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg0; - if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C38804_VT)) failedCast(s.tmp_0.arg0); - s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite; - s.pc = 9; return s.tmp_0; - case 9: - r0 = s.retval; - r0 = s.arg0.fields["destroyHandler"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - s.tmp_1 = if_destroyHandler_1_mk(s); - s.tmp_1.arg0 = s.arg0; - if (!s.tmp_1.arg0.vtable.iface) { - setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "destroyHandler"), 1); - s.callLocIdx = 438; s.pc = 10; return s.tmp_1; - } else { - s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["destroyHandler"]; - if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["destroyHandler"], 1); s.callLocIdx = 438; s.pc = 10; return s.tmp_1; } - else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 438; s.pc = 10; return s.tmp_1;; } - else { s.callLocIdx = 438; s.pc = 10; return s.tmp_1; } - } - case 10: - r0 = s.retval; - case 5: - case 6: - r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P46672); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - r0 = pxsim_pxtcore_mkAction(1, Sprite__destroyCore_inline__P46679); s.tmp_1 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); - s.tmp_2 = helpers_arrayForEach__P37574_mk(s); - s.tmp_3 = helpers_arrayFilter__P37575_mk(s); - r0 = s.scene___46643.fields["destroyedHandlers"]; - s.tmp_3.arg0 = r0; - s.tmp_3.arg1 = s.tmp_0; - s.callLocIdx = 440; s.pc = 12; return s.tmp_3; - case 12: - r0 = s.retval; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = s.tmp_1; - s.callLocIdx = 442; s.pc = 11; return s.tmp_2; - case 11: - r0 = s.retval; + r0 = (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() } } } -Sprite__destroyCore__P38730.info = {"start":26632,"length":522,"line":868,"column":4,"endLine":880,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"_destroyCore","argumentNames":["this"]} +game_Hitbox_constructor__P2215.info = {"start":173,"length":288,"line":9,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"inline","argumentNames":["this","parent","width","height","ox","oy"]} -function Sprite__destroyCore__P38730_mk(s) { +function game_Hitbox_constructor__P2215_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite__destroyCore__P38730, depth: s.depth + 1, + parent: s, fn: game_Hitbox_constructor__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, - tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - scene___46643: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, } } -function forEach_inline__P46672(s) { +function Fx_floor__P168(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15961,23 +15473,17 @@ switch (step) { 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); + r0 = (s.arg0 & -256); return leave(s, r0) default: oops() } } } -forEach_inline__P46672.info = {"start":27077,"length":26,"line":878,"column":20,"endLine":878,"endColumn":46,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} +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 forEach_inline__P46672_mk(s) { +function Fx_floor__P168_mk(s) { checkStack(s.depth); return { - parent: s, fn: forEach_inline__P46672, depth: s.depth + 1, + parent: s, fn: Fx_floor__P168, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, arg0: undefined, } } @@ -15985,7 +15491,7 @@ function forEach_inline__P46672_mk(s) { -function Sprite__destroyCore_inline__P46679(s) { +function Fx_max__P167(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -15997,42 +15503,42 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = if_handler_2_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.caps[0]; - if (!s.tmp_0.arg0.vtable.iface) { - setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); - s.callLocIdx = 441; s.pc = 1; return s.tmp_0; - } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; - if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 441; s.pc = 1; return s.tmp_0; } - else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 441; s.pc = 1; return s.tmp_0;; } - else { s.callLocIdx = 441; s.pc = 1; return s.tmp_0; } - } + 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.retval; + r0 = s.arg1; + { step = 3; continue; } + case 2: r0 = undefined; + case 3: return leave(s, r0) default: oops() } } } -Sprite__destroyCore_inline__P46679.info = {"start":27126,"length":20,"line":879,"column":21,"endLine":879,"endColumn":41,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} +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 Sprite__destroyCore_inline__P46679_mk(s) { +function Fx_max__P167_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite__destroyCore_inline__P46679, depth: s.depth + 1, + 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 PhysicsEngine_removeSprite__P38806(s) { +function Fx_min__P166(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16047,19 +15553,30 @@ switch (step) { 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; - if (!checkSubtype(r0, PhysicsEngine__C38804_VT)) failedCast(r0); + { 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() } } } -PhysicsEngine_removeSprite__P38806.info = {"start":159,"length":32,"line":10,"column":4,"endLine":10,"endColumn":36,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]} +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 PhysicsEngine_removeSprite__P38806_mk(s) { +function Fx_min__P166_mk(s) { checkStack(s.depth); return { - parent: s, fn: PhysicsEngine_removeSprite__P38806, depth: s.depth + 1, + 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, } } @@ -16068,7 +15585,7 @@ function PhysicsEngine_removeSprite__P38806_mk(s) { -function sprites_SpriteSet_remove__P38774(s) { +function Fx_mul__P160(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16078,49 +15595,25 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.i___46688 = 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__C38768_VT)) failedCast(r0); - r0 = s.arg0.fields["_sprites"]; - s.tmp_0 = r0; - r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined); - s.i___46688 = (r0); - r0 = (s.i___46688 > -1); + r0 = pxsim.Math_.imul(s.arg0, s.arg1); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_1 = helpers_arraySplice__P37563_mk(s); - r0 = s.arg0.fields["_sprites"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.i___46688; - s.tmp_1.arg2 = 1; - s.callLocIdx = 516; s.pc = 4; return s.tmp_1; - case 4: - r0 = s.retval; - r0 = true; - { step = 3; continue; } - case 1: - case 2: - r0 = false; - case 3: + r0 = (s.tmp_0 >> 8); return leave(s, r0) default: oops() } } } -sprites_SpriteSet_remove__P38774.info = {"start":1827,"length":235,"line":66,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"remove","argumentNames":["this","sprite"]} +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 sprites_SpriteSet_remove__P38774_mk(s) { +function Fx_mul__P160_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteSet_remove__P38774, depth: s.depth + 1, + parent: s, fn: Fx_mul__P160, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - i___46688: undefined, arg0: undefined, arg1: undefined, } } @@ -16129,7 +15622,7 @@ function sprites_SpriteSet_remove__P38774_mk(s) { -function Sprite_kind__P38708(s) { +function Fx_sub__P159(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16141,29 +15634,29 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_kind"]; + r0 = (s.arg0 - s.arg1); return leave(s, r0) default: oops() } } } -Sprite_kind__P38708.info = {"start":12573,"length":41,"line":453,"column":4,"endLine":455,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"kind","argumentNames":["this"]} +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 Sprite_kind__P38708_mk(s) { +function Fx_sub__P159_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_kind__P38708, depth: s.depth + 1, + 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 game_popScene__P39344(s) { +function game_Hitbox_updateIfInvalid__P2222(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16173,84 +15666,155 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.oldScene___46348 = undefined; - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 953; s.pc = 11; return s.tmp_0; - case 11: + s.newHitBox___11573 = undefined; + s.oMinX___11578 = undefined; + s.oMinY___11581 = undefined; + s.oMaxX___11584 = undefined; + s.oMaxY___11590 = undefined; + s.nMinX___11596 = undefined; + s.nMinY___11599 = undefined; + s.nMaxX___11602 = undefined; + s.nMaxY___11608 = undefined; + s.xDiff___11614 = undefined; + s.yDiff___11625 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + s.tmp_1 = game_Hitbox_isValid__P2220_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 234; s.pc = 8; return s.tmp_1; + case 8: r0 = s.retval; - s.oldScene___46348 = (r0); - s.tmp_0 = r0 = globals._sceneStack___39332; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } case 1: - r0 = pxsim_Array__length(globals._sceneStack___39332); 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___39332); - globals._scene___39331 = (r0); - s.tmp_0 = control_popEventContext__P37831_mk(s); - s.callLocIdx = 954; s.pc = 12; return s.tmp_0; + s.tmp_2 = game_calculateHitBox__P2224_mk(s); + r0 = s.arg0.fields["parent"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 235; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + s.newHitBox___11573 = (r0); + r0 = s.arg0.fields["ox"]; + s.oMinX___11578 = (r0); + r0 = s.arg0.fields["oy"]; + s.oMinY___11581 = (r0); + r0 = s.arg0.fields["width"]; + s.tmp_0 = r0; + r0 = (s.oMinX___11578 + s.tmp_0); + s.oMaxX___11584 = (r0); + r0 = s.arg0.fields["height"]; + s.tmp_0 = r0; + r0 = (s.oMinY___11581 + s.tmp_0); + s.oMaxY___11590 = (r0); + r0 = s.newHitBox___11573.fields["ox"]; + s.nMinX___11596 = (r0); + r0 = s.newHitBox___11573.fields["oy"]; + s.nMinY___11599 = (r0); + r0 = s.newHitBox___11573.fields["width"]; + s.tmp_0 = r0; + r0 = (s.nMinX___11596 + s.tmp_0); + s.nMaxX___11602 = (r0); + r0 = s.newHitBox___11573.fields["height"]; + s.tmp_0 = r0; + r0 = (s.nMinY___11599 + s.tmp_0); + s.nMaxY___11608 = (r0); + s.tmp_1 = Fx_abs__P165_mk(s); + r0 = (s.oMinX___11578 - s.nMinX___11596); + s.tmp_1.arg0 = r0; + s.callLocIdx = 241; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Fx_abs__P165_mk(s); + r0 = (s.oMaxX___11584 - s.nMaxX___11602); + s.tmp_3.arg0 = r0; + s.callLocIdx = 243; s.pc = 11; return s.tmp_3; + case 11: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + s.xDiff___11614 = (r0); + s.tmp_1 = Fx_abs__P165_mk(s); + r0 = (s.oMinY___11581 - s.nMinY___11599); + s.tmp_1.arg0 = r0; + s.callLocIdx = 246; s.pc = 12; return s.tmp_1; case 12: r0 = s.retval; - { step = 6; continue; } - case 3: - r0 = pxsim_numops_toBoolDecr(globals._scene___39331); - if (!r0) { step = 4; continue; } - s.tmp_0 = control_popEventContext__P37831_mk(s); - s.callLocIdx = 955; s.pc = 13; return s.tmp_0; + s.tmp_0 = r0; + s.tmp_3 = Fx_abs__P165_mk(s); + r0 = (s.oMaxY___11590 - s.nMaxY___11608); + s.tmp_3.arg0 = r0; + s.callLocIdx = 248; s.pc = 13; return s.tmp_3; case 13: r0 = s.retval; - globals._scene___39331 = (undefined); + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + s.yDiff___11625 = (r0); + r0 = (s.xDiff___11614 > 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = (s.arg0).fields["ox"] = (s.nMinX___11596); + r0 = s.newHitBox___11573.fields["width"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["width"] = (s.tmp_0); + case 3: case 4: + r0 = (s.yDiff___11625 > 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = (s.arg0).fields["oy"] = (s.nMinY___11599); + r0 = s.newHitBox___11573.fields["height"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["height"] = (s.tmp_0); case 5: case 6: - r0 = pxsim_numops_toBoolDecr(globals._scene___39331); - if (!r0) { step = 7; continue; } - s.tmp_0 = particles_enableAll__P39796_mk(s); - s.callLocIdx = 956; s.pc = 14; return s.tmp_0; - case 14: - r0 = s.retval; - case 7: - case 8: - r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___39334); - if (!r0) { step = 9; continue; } - r0 = pxsim_pxtcore_mkAction(1, game_popScene_inline__P46369); + r0 = s.newHitBox___11573.fields["hash"]; s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___46348); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - s.tmp_1.arg0 = globals._scenePopHandlers___39334; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 958; s.pc = 15; return s.tmp_1; - case 15: - r0 = s.retval; - case 9: - case 10: + r0 = (s.arg0).fields["hash"] = (s.tmp_0); + case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -game_popScene__P39344.info = {"start":5133,"length":548,"line":161,"column":4,"endLine":179,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"popScene","argumentNames":[]} +game_Hitbox_updateIfInvalid__P2222.info = {"start":1188,"length":1317,"line":48,"column":8,"endLine":85,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"updateIfInvalid","argumentNames":["this"]} -function game_popScene__P39344_mk(s) { +function game_Hitbox_updateIfInvalid__P2222_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_popScene__P39344, depth: s.depth + 1, + parent: s, fn: game_Hitbox_updateIfInvalid__P2222, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - oldScene___46348: undefined, + tmp_2: undefined, + tmp_3: undefined, + newHitBox___11573: undefined, + oMinX___11578: undefined, + oMinY___11581: undefined, + oMaxX___11584: undefined, + oMaxY___11590: undefined, + nMinX___11596: undefined, + nMinY___11599: undefined, + nMaxX___11602: undefined, + nMaxY___11608: undefined, + xDiff___11614: undefined, + yDiff___11625: undefined, + arg0: undefined, } } -function game_popScene_inline__P46369(s) { +function Fx_abs__P165(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16264,23 +15828,28 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = lambda_2_mk(s); - s.tmp_0.argL = s.arg0; - s.tmp_0.arg0 = s.caps[0]; - setupLambda(s.tmp_0, s.tmp_0.argL); - s.callLocIdx = 957; s.pc = 1; return s.tmp_0; + 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.retval; + r0 = s.arg0; + { step = 3; continue; } + case 2: r0 = undefined; + case 3: return leave(s, r0) default: oops() } } } -game_popScene_inline__P46369.info = {"start":5645,"length":18,"line":177,"column":38,"endLine":177,"endColumn":56,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} +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 game_popScene_inline__P46369_mk(s) { +function Fx_abs__P165_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_popScene_inline__P46369, depth: s.depth + 1, + 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, @@ -16290,7 +15859,7 @@ function game_popScene_inline__P46369_mk(s) { -function particles_enableAll__P39796(s) { +function Sprite_sy__P2371(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16300,46 +15869,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___46373 = undefined; - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1195; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.sources___46373 = (r0); - r0 = pxsim_numops_toBoolDecr(s.sources___46373); - if (!r0) { step = 1; continue; } - s.tmp_0 = helpers_arrayForEach__P37574_mk(s); - s.tmp_0.arg0 = s.sources___46373; - s.tmp_0.arg1 = particles_enableAll_inline__P46379; - s.callLocIdx = 1197; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.tmp_0 = particles_pruneParticles__P39784_mk(s); - s.callLocIdx = 1198; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - case 1: - case 2: - r0 = undefined; - return leave(s, r0) + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -particles_enableAll__P39796.info = {"start":12649,"length":193,"line":413,"column":4,"endLine":419,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"enableAll","argumentNames":[]} +Sprite_sy__P2371.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__P2371.isGetter = true; -function particles_enableAll__P39796_mk(s) { +function Sprite_sy__P2371_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_enableAll__P39796, depth: s.depth + 1, + parent: s, fn: Sprite_sy__P2371, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - sources___46373: undefined, + arg0: undefined, } } -function particles_enableAll_inline__P46379(s) { +function Sprite_sx__P2369(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16353,22 +15911,21 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = particles_ParticleSource_enabled__P39769_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = true; - s.callLocIdx = 1196; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = true; - return leave(s, r0) + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_sx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -particles_enableAll_inline__P46379.info = {"start":12773,"length":21,"line":416,"column":28,"endLine":416,"endColumn":49,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} +Sprite_sx__P2369.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__P2369.isGetter = true; -function particles_enableAll_inline__P46379_mk(s) { +function Sprite_sx__P2369_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_enableAll_inline__P46379, depth: s.depth + 1, + parent: s, fn: Sprite_sx__P2369, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -16378,7 +15935,7 @@ function particles_enableAll_inline__P46379_mk(s) { -function particles_particleSources__P39797(s) { +function Sprite_image__P2389(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16388,33 +15945,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___46552 = undefined; - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 1199; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = r0.fields["particleSources"]; - s.sources___46552 = (r0); - r0 = s.sources___46552; - return leave(s, r0) + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + return leaveAccessor(s, r0) default: oops() } } } -particles_particleSources__P39797.info = {"start":12848,"length":119,"line":421,"column":4,"endLine":424,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"particleSources","argumentNames":[]} +Sprite_image__P2389.info = {"start":9023,"length":54,"line":322,"column":4,"endLine":324,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"image","argumentNames":["this"]} +Sprite_image__P2389.isGetter = true; -function particles_particleSources__P39797_mk(s) { +function Sprite_image__P2389_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_particleSources__P39797, depth: s.depth + 1, + parent: s, fn: Sprite_image__P2389, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - sources___46552: undefined, + arg0: undefined, } } -function particles_pruneParticles__P39784(s) { +function effects_ParticleEffect_start__P3263(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16424,51 +15980,112 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___46384 = undefined; - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1182; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.sources___46384 = (r0); - r0 = pxsim_numops_toBoolDecr(s.sources___46384); + s.src___11694 = 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__C3261_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; } - s.tmp_0 = helpers_arrayForEach__P37574_mk(s); - s.tmp_1 = helpers_arraySlice__P37580_mk(s); - s.tmp_1.arg0 = s.sources___46384; - s.tmp_1.arg1 = 0; - r0 = pxsim_Array__length(s.sources___46384); - s.tmp_1.arg2 = r0; - s.callLocIdx = 1183; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = particles_pruneParticles_inline__P46394; - s.callLocIdx = 1185; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; + { step = 9; continue; } case 1: case 2: + r0 = pxsim_numops_toBoolDecr(s.arg3); + if (!r0) { step = 3; continue; } + r0 = s.arg3; + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["defaultRate"]; + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + s.tmp_4 = if_sourceFactory_3_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.arg1; + s.tmp_4.arg2 = s.tmp_3; + if (!s.tmp_4.arg0.vtable.iface) { + setupLambda(s.tmp_4, pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "sourceFactory"), 3); + s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["sourceFactory"]; + if (s.tmp_4.fn == null) { setupLambda(s.tmp_4, s.tmp_4.arg0.fields["sourceFactory"], 3); s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; } + else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 1249; s.pc = 10; return s.tmp_4;; } + else { s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; } + } + case 10: + r0 = s.retval; + s.src___11694 = (r0); + s.tmp_0 = particles_ParticleSource_setRelativeToCamera__P3161_mk(s); + s.tmp_0.arg0 = s.src___11694; + r0 = pxsim_numops_toBoolDecr(s.arg4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 1250; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 7; continue; } + r0 = (s.arg2 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.arg2; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["defaultLifespan"]; + case 6: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.src___11694).fields["lifespan"] = (s.tmp_1); + case 7: + case 8: + case 9: r0 = undefined; return leave(s, r0) default: oops() } } } -particles_pruneParticles__P39784.info = {"start":9864,"length":156,"line":327,"column":4,"endLine":330,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"pruneParticles","argumentNames":[]} +effects_ParticleEffect_start__P3263.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 particles_pruneParticles__P39784_mk(s) { +function effects_ParticleEffect_start__P3263_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_pruneParticles__P39784, depth: s.depth + 1, + parent: s, fn: effects_ParticleEffect_start__P3263, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - sources___46384: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + src___11694: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, } } -function particles_pruneParticles_inline__P46394(s) { +function particles_ParticleSource_setRelativeToCamera__P3161(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16480,33 +16097,57 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = particles_ParticleSource__prune__P39764_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1184; s.pc = 1; return s.tmp_0; + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_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: - r0 = s.retval; + 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_pruneParticles_inline__P46394.info = {"start":9997,"length":15,"line":329,"column":62,"endLine":329,"endColumn":77,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} +particles_ParticleSource_setRelativeToCamera__P3161.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_pruneParticles_inline__P46394_mk(s) { +function particles_ParticleSource_setRelativeToCamera__P3161_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_pruneParticles_inline__P46394, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_setRelativeToCamera__P3161, depth: s.depth + 1, pc: 0, retval: 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__prune__P39764(s) { +function Sprite_setFlag__P2418(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16516,155 +16157,61 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___46426 = undefined; - s.sources___46435 = undefined; - s.current___46450 = 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_ParticleSource__C39760_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"]; + if (!checkSubtype(r0, Sprite__C2340_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_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) + 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 = pxsim_numops_toBoolDecr(s.tmp_4); - if (!r0) { step = 13; continue; } - s.tmp_5 = game_currentScene__P38454_mk(s); - s.callLocIdx = 1157; s.pc = 21; return s.tmp_5; - case 21: - r0 = s.retval; - s.scene___46426 = (r0); - r0 = pxsim_numops_toBoolDecr(s.scene___46426); - if (!r0) { step = 7; continue; } - r0 = s.scene___46426.fields["allSprites"]; - s.tmp_0 = r0; - r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0); - case 7: - case 8: - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1158; s.pc = 22; return s.tmp_0; - case 22: - r0 = s.retval; - s.sources___46435 = (r0); - s.tmp_0 = r0 = s.sources___46435; - 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___46435); - 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___46435, 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___46450 = (r0); - case 15: - s.tmp_0 = r0 = s.current___46450; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 16; continue; } - r0 = s.tmp_0; - { step = 17; continue; } - case 16: - r0 = s.current___46450.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___46450.fields["next"]; - r0 = r0.fields["lifespan"]; + r0 = (~ s.tmp_4); s.tmp_3 = r0; - r0 = (s.tmp_3 <= 0); + r0 = (s.tmp_3 | s.arg1); s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - if (!r0) { step = 18; continue; } - r0 = s.current___46450.fields["next"]; - r0 = r0.fields["next"]; - s.tmp_4 = r0; - r0 = (s.current___46450).fields["next"] = (s.tmp_4); - { step = 19; continue; } - case 18: - r0 = s.current___46450.fields["next"]; - s.current___46450 = (r0); - case 19: - { step = 15; continue; } - case 20: + 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() } } } -particles_ParticleSource__prune__P39764.info = {"start":5104,"length":830,"line":166,"column":8,"endLine":189,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_prune","argumentNames":["this"]} +Sprite_setFlag__P2418.info = {"start":20205,"length":130,"line":676,"column":4,"endLine":679,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setFlag","argumentNames":["this","flag","on"]} -function particles_ParticleSource__prune__P39764_mk(s) { +function Sprite_setFlag__P2418_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource__prune__P39764, depth: s.depth + 1, + parent: s, fn: Sprite_setFlag__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, tmp_4: undefined, - tmp_5: undefined, - scene___46426: undefined, - sources___46435: undefined, - current___46450: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function particles_ParticleSource_enabled__P39769(s) { +function Sprite__destroyCore__P2428(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16674,51 +16221,116 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.scene___11037 = 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__C39760_VT)) failedCast(r0); - s.tmp_1 = r0 = s.arg1; - s.tmp_3 = particles_ParticleSource_enabled__P39768_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 1161; s.pc = 5; return s.tmp_3; - case 5: - r0 = s.retval; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["flags"]; s.tmp_2 = r0; - r0 = (s.tmp_1 !== s.tmp_2); + r0 = (s.tmp_2 | 2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 433; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.scene___11037 = (r0); + r0 = s.scene___11037.fields["allSprites"]; 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); + 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.arg0.fields["pFlags"]; - s.tmp_5 = r0; - r0 = (s.tmp_5 ^ 1); + r0 = s.scene___11037.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__P2469_mk(s); + r0 = s.scene___11037.fields["spritesByKind"]; s.tmp_6 = r0; - r0 = (s.arg0).fields["pFlags"] = (s.tmp_6); - r0 = (s.arg0).fields["timer"] = (0); + r0 = s.arg0.fields["_kind"]; + s.tmp_7 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7); + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = s.arg0; + s.callLocIdx = 437; s.pc = 8; return s.tmp_5; + case 8: + r0 = s.retval; case 3: case 4: + s.tmp_0 = PhysicsEngine__C2510_v1_2_mk(s); + r0 = s.scene___11037.fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2510_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite; + s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + r0 = s.arg0.fields["destroyHandler"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_1 = if_destroyHandler_1_mk(s); + s.tmp_1.arg0 = s.arg0; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "destroyHandler"), 1); + s.callLocIdx = 438; s.pc = 10; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["destroyHandler"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["destroyHandler"], 1); s.callLocIdx = 438; s.pc = 10; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 438; s.pc = 10; return s.tmp_1;; } + else { s.callLocIdx = 438; s.pc = 10; return s.tmp_1; } + } + case 10: + r0 = s.retval; + case 5: + case 6: + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P11066); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtcore_mkAction(1, Sprite__destroyCore_inline__P11073); + 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___11037.fields["destroyedHandlers"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 440; s.pc = 12; return s.tmp_3; + case 12: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 442; s.pc = 11; return s.tmp_2; + case 11: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleSource_enabled__P39769.info = {"start":6816,"length":214,"line":223,"column":8,"endLine":228,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this","v"]} +Sprite__destroyCore__P2428.info = {"start":26632,"length":522,"line":868,"column":4,"endLine":880,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"_destroyCore","argumentNames":["this"]} -function particles_ParticleSource_enabled__P39769_mk(s) { +function Sprite__destroyCore__P2428_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_enabled__P39769, depth: s.depth + 1, + parent: s, fn: Sprite__destroyCore__P2428, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -16727,15 +16339,16 @@ function particles_ParticleSource_enabled__P39769_mk(s) { tmp_4: undefined, tmp_5: undefined, tmp_6: undefined, + tmp_7: undefined, + scene___11037: undefined, arg0: undefined, - arg1: undefined, } } -function particles_ParticleSource_enabled__P39768(s) { +function forEach_inline__P11066(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16749,35 +16362,23 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_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); + r0 = s.arg0.fields["kind"]; s.tmp_0 = r0; - r0 = pxsim_Boolean__bang(s.tmp_0); - return leaveAccessor(s, r0) + r0 = s.caps[0].fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 == s.tmp_1); + return leave(s, r0) default: oops() } } } -particles_ParticleSource_enabled__P39768.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__P39768.isGetter = true; +forEach_inline__P11066.info = {"start":27077,"length":26,"line":878,"column":20,"endLine":878,"endColumn":46,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} -function particles_ParticleSource_enabled__P39768_mk(s) { +function forEach_inline__P11066_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_enabled__P39768, depth: s.depth + 1, + parent: s, fn: forEach_inline__P11066, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, arg0: undefined, } } @@ -16785,7 +16386,7 @@ function particles_ParticleSource_enabled__P39768_mk(s) { -function control_popEventContext__P37831(s) { +function Sprite__destroyCore_inline__P11073(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16795,75 +16396,44 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ctx___46560 = undefined; - s.context___46568 = undefined; - r0 = pxsim_numops_toBoolDecr(globals.eventContexts___37828); - 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; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_2_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); + s.callLocIdx = 441; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 441; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 441; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 441; s.pc = 1; return s.tmp_0; } + } case 1: - case 2: - r0 = pxsim_Array_.pop(globals.eventContexts___37828); - s.ctx___46560 = (r0); - r0 = pxsim_numops_toBoolDecr(s.ctx___46560); - 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__P37818_mk(s); - s.tmp_2.arg0 = s.ctx___46560; - s.callLocIdx = 57; s.pc = 8; return s.tmp_2; - case 8: - r0 = s.retval; - s.tmp_0 = r0 = globals.eventContexts___37828; - r0 = pxsim_Array__length(globals.eventContexts___37828); - 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___46568 = (r0); - r0 = pxsim_numops_toBoolDecr(s.context___46568); - if (!r0) { step = 5; continue; } - s.tmp_0 = control_EventContext_register__P37817_mk(s); - s.tmp_0.arg0 = s.context___46568; - s.callLocIdx = 58; s.pc = 9; return s.tmp_0; - case 9: r0 = s.retval; - { step = 6; continue; } - case 5: - globals.eventContexts___37828 = (undefined); - case 6: - case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -control_popEventContext__P37831.info = {"start":7755,"length":413,"line":236,"column":4,"endLine":250,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"popEventContext","argumentNames":[]} +Sprite__destroyCore_inline__P11073.info = {"start":27126,"length":20,"line":879,"column":21,"endLine":879,"endColumn":41,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} -function control_popEventContext__P37831_mk(s) { +function Sprite__destroyCore_inline__P11073_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_popEventContext__P37831, depth: s.depth + 1, + parent: s, fn: Sprite__destroyCore_inline__P11073, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - ctx___46560: undefined, - context___46568: undefined, + arg0: undefined, } } -function control_EventContext_register__P37817(s) { +function PhysicsEngine_removeSprite__P2513(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16873,67 +16443,33 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.h___46581 = undefined; - s.unnamed240___U1 = undefined; - s.unnamed241___U2 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, control_EventContext__C37813_VT)) failedCast(r0); - s.h___46581 = (undefined); - r0 = s.arg0.fields["handlers"]; - s.unnamed240___U1 = (r0); - s.unnamed241___U2 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed241___U2; - r0 = pxsim_Array__length(s.unnamed240___U1); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 2; continue; } - r0 = pxsim_Array__getAt(s.unnamed240___U1, s.unnamed241___U2); - s.h___46581 = (r0); - s.tmp_2 = control_EventHandler_register__P37809_mk(s); - s.tmp_2.arg0 = s.h___46581; - s.callLocIdx = 48; s.pc = 3; return s.tmp_2; - case 3: - r0 = s.retval; - r0 = (s.unnamed241___U2 + 1); - s.unnamed241___U2 = (r0); - { step = 1; continue; } - case 2: - s.unnamed240___U1 = (undefined); - s.tmp_0 = control_EventContext_registerFrameCallbacks__P37816_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 49; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; + if (!checkSubtype(r0, PhysicsEngine__C2510_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -control_EventContext_register__P37817.info = {"start":4573,"length":138,"line":135,"column":8,"endLine":139,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} +PhysicsEngine_removeSprite__P2513.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 control_EventContext_register__P37817_mk(s) { +function PhysicsEngine_removeSprite__P2513_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_EventContext_register__P37817, depth: s.depth + 1, + parent: s, fn: PhysicsEngine_removeSprite__P2513, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - h___46581: undefined, - unnamed240___U1: undefined, - unnamed241___U2: undefined, arg0: undefined, + arg1: undefined, } } -function controller__setUserEventsEnabled__P38595(s) { +function sprites_SpriteSet_remove__P2469(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16943,30 +16479,58 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.i___11082 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - globals._userEventsEnabled___38582 = (s.arg0); - r0 = undefined; + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C2462_VT)) failedCast(r0); + r0 = s.arg0.fields["_sprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined); + s.i___11082 = (r0); + r0 = (s.i___11082 > -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___11082; + s.tmp_1.arg2 = 1; + s.callLocIdx = 516; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + r0 = true; + { step = 3; continue; } + case 1: + case 2: + r0 = false; + case 3: return leave(s, r0) default: oops() } } } -controller__setUserEventsEnabled__P38595.info = {"start":10070,"length":101,"line":291,"column":4,"endLine":293,"endColumn":5,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"_setUserEventsEnabled","argumentNames":["enabled"]} +sprites_SpriteSet_remove__P2469.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 controller__setUserEventsEnabled__P38595_mk(s) { +function sprites_SpriteSet_remove__P2469_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller__setUserEventsEnabled__P38595, depth: s.depth + 1, + parent: s, fn: sprites_SpriteSet_remove__P2469, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + i___11082: undefined, arg0: undefined, + arg1: undefined, } } -function scene_systemMenu_sleep__P39658(s) { +function Sprite_kind__P2406(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -16976,25 +16540,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_pxtcore.deepSleep(); - r0 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_kind"]; return leave(s, r0) default: oops() } } } -scene_systemMenu_sleep__P39658.info = {"start":10072,"length":51,"line":316,"column":4,"endLine":318,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"sleep","argumentNames":[]} +Sprite_kind__P2406.info = {"start":12573,"length":41,"line":453,"column":4,"endLine":455,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"kind","argumentNames":["this"]} -function scene_systemMenu_sleep__P39658_mk(s) { +function Sprite_kind__P2406_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_sleep__P39658, depth: s.depth + 1, + parent: s, fn: Sprite_kind__P2406, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, } } -function scene_systemMenu_toggleConsole__P39657(s) { +function game_popScene__P3003(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17004,59 +16574,84 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___39710); - 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__P39749_mk(s); - s.tmp_4.arg0 = false; - s.tmp_4.arg1 = undefined; - s.callLocIdx = 1087; s.pc = 3; return s.tmp_4; - case 3: + s.oldScene___10748 = undefined; + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 953; s.pc = 11; return s.tmp_0; + case 11: r0 = s.retval; + s.oldScene___10748 = (r0); + s.tmp_0 = r0 = globals._sceneStack___4923; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; { step = 2; continue; } case 1: - s.tmp_0 = game_consoleOverlay_setVisible__P39749_mk(s); - s.tmp_0.arg0 = true; - s.tmp_0.arg1 = undefined; - s.callLocIdx = 1088; s.pc = 4; return s.tmp_0; - case 4: + r0 = pxsim_Array__length(globals._sceneStack___4923); + 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___4923); + globals._scene___4922 = (r0); + s.tmp_0 = control_popEventContext__P410_mk(s); + s.callLocIdx = 954; s.pc = 12; return s.tmp_0; + case 12: r0 = s.retval; - s.tmp_0 = console_log__P37784_mk(s); - s.tmp_0.arg0 = "console"; - s.callLocIdx = 1089; s.pc = 5; return s.tmp_0; + { step = 6; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(globals._scene___4922); + if (!r0) { step = 4; continue; } + s.tmp_0 = control_popEventContext__P410_mk(s); + s.callLocIdx = 955; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + globals._scene___4922 = (undefined); + case 4: case 5: + case 6: + r0 = pxsim_numops_toBoolDecr(globals._scene___4922); + if (!r0) { step = 7; continue; } + s.tmp_0 = particles_enableAll__P3182_mk(s); + s.callLocIdx = 956; s.pc = 14; return s.tmp_0; + case 14: r0 = s.retval; - case 2: + case 7: + case 8: + r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___4925); + if (!r0) { step = 9; continue; } + r0 = pxsim_pxtcore_mkAction(1, game_popScene_inline__P10769); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___10748); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = globals._scenePopHandlers___4925; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 958; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + case 9: + case 10: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_toggleConsole__P39657.info = {"start":9827,"length":239,"line":307,"column":4,"endLine":314,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleConsole","argumentNames":[]} +game_popScene__P3003.info = {"start":5133,"length":548,"line":161,"column":4,"endLine":179,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"popScene","argumentNames":[]} -function scene_systemMenu_toggleConsole__P39657_mk(s) { +function game_popScene__P3003_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_toggleConsole__P39657, depth: s.depth + 1, + parent: s, fn: game_popScene__P3003, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, + oldScene___10748: undefined, } } -function scene_systemMenu_toggleStats__P39656(s) { +function game_popScene_inline__P10769(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17066,57 +16661,37 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.stats___39310); - s.tmp_0 = r0; - r0 = pxsim_Boolean__bang(s.tmp_0); - globals.stats___39310 = (r0); - r0 = pxsim_numops_toBoolDecr(globals.stats___39310); - 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; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = s.arg0; + s.tmp_0.arg0 = s.caps[0]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 957; s.pc = 1; return s.tmp_0; case 1: - r0 = globals.control_EventContext_onStats___37826; - 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___37826; - r0 = pxsim_String_.mkEmpty(); - s.tmp_3.arg0 = r0; - setupLambda(s.tmp_3, s.tmp_3.argL); - s.callLocIdx = 1085; s.pc = 5; return s.tmp_3; - case 5: r0 = s.retval; - case 3: - case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_toggleStats__P39656.info = {"start":9642,"length":179,"line":300,"column":4,"endLine":305,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleStats","argumentNames":[]} +game_popScene_inline__P10769.info = {"start":5645,"length":18,"line":177,"column":38,"endLine":177,"endColumn":56,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} -function scene_systemMenu_toggleStats__P39656_mk(s) { +function game_popScene_inline__P10769_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_toggleStats__P39656, depth: s.depth + 1, + parent: s, fn: game_popScene_inline__P10769, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, + arg0: undefined, } } -function scene_systemMenu_brightnessDown__P39654(s) { +function particles_enableAll__P3182(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17126,34 +16701,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_setScreenBrightness__P39655_mk(s); - r0 = globals.brightness___38246; - s.tmp_1 = r0; - r0 = (s.tmp_1 - 5); - s.tmp_0.arg0 = r0; - s.callLocIdx = 1081; s.pc = 1; return s.tmp_0; - case 1: + s.sources___10773 = undefined; + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1195; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___10773 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___10773); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.sources___10773; + s.tmp_0.arg1 = particles_enableAll_inline__P10779; + s.callLocIdx = 1197; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P5268_mk(s); + s.callLocIdx = 1198; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_brightnessDown__P39654.info = {"start":9198,"length":87,"line":289,"column":4,"endLine":291,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessDown","argumentNames":[]} +particles_enableAll__P3182.info = {"start":12649,"length":193,"line":413,"column":4,"endLine":419,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"enableAll","argumentNames":[]} -function scene_systemMenu_brightnessDown__P39654_mk(s) { +function particles_enableAll__P3182_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_brightnessDown__P39654, depth: s.depth + 1, + parent: s, fn: particles_enableAll__P3182, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, + sources___10773: undefined, } } -function scene_systemMenu_setScreenBrightness__P39655(s) { +function particles_enableAll_inline__P10779(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17167,29 +16754,22 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = helpers_setScreenBrightness__P38271_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 1082; s.pc = 1; return s.tmp_0; + s.tmp_0 = particles_ParticleSource_enabled__P3163_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = true; + s.callLocIdx = 1196; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - s.tmp_0 = settings_writeNumber__P38364_mk(s); - s.tmp_0.arg0 = "#brightness"; - r0 = globals.brightness___38246; - s.tmp_0.arg1 = r0; - s.callLocIdx = 1084; s.pc = 2; return s.tmp_0; - case 2: - r0 = s.retval; - r0 = undefined; + r0 = true; return leave(s, r0) default: oops() } } } -scene_systemMenu_setScreenBrightness__P39655.info = {"start":9291,"length":345,"line":293,"column":4,"endLine":298,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setScreenBrightness","argumentNames":["b"]} +particles_enableAll_inline__P10779.info = {"start":12773,"length":21,"line":416,"column":28,"endLine":416,"endColumn":49,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} -function scene_systemMenu_setScreenBrightness__P39655_mk(s) { +function particles_enableAll_inline__P10779_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_setScreenBrightness__P39655, depth: s.depth + 1, + parent: s, fn: particles_enableAll_inline__P10779, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -17199,7 +16779,7 @@ function scene_systemMenu_setScreenBrightness__P39655_mk(s) { -function settings_writeNumber__P38364(s) { +function particles_particleSources__P5272(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17209,48 +16789,33 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__P38361_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_2 = msgpack_packNumberArray__P37659_mk(s); - s.tmp_2.arg0 = s.tmp_0; - s.callLocIdx = 125; s.pc = 2; return s.tmp_2; - case 2: - r0 = s.retval; - s.tmp_1.arg1 = r0; - s.callLocIdx = 126; s.pc = 1; return s.tmp_1; + s.sources___10947 = undefined; + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 1199; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - r0 = undefined; + r0 = r0.fields["particleSources"]; + s.sources___10947 = (r0); + r0 = s.sources___10947; return leave(s, r0) default: oops() } } } -settings_writeNumber__P38364.info = {"start":2265,"length":122,"line":89,"column":4,"endLine":91,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeNumber","argumentNames":["key","value"]} +particles_particleSources__P5272.info = {"start":12848,"length":119,"line":421,"column":4,"endLine":424,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"particleSources","argumentNames":[]} -function settings_writeNumber__P38364_mk(s) { +function particles_particleSources__P5272_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_writeNumber__P38364, depth: s.depth + 1, + parent: s, fn: particles_particleSources__P5272, 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, + sources___10947: undefined, } } -function settings_writeBuffer__P38361(s) { +function particles_pruneParticles__P5268(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17260,40 +16825,51 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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); + s.sources___10784 = undefined; + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1182; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___10784 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___10784); if (!r0) { step = 1; continue; } - r0 = pxsim.settings._userClean(); - r0 = pxsim_pxtrt.panic(920); + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_1 = helpers_arraySlice__P115_mk(s); + s.tmp_1.arg0 = s.sources___10784; + s.tmp_1.arg1 = 0; + r0 = pxsim_Array__length(s.sources___10784); + s.tmp_1.arg2 = r0; + s.callLocIdx = 1183; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = particles_pruneParticles_inline__P10793; + s.callLocIdx = 1185; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; case 1: case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -settings_writeBuffer__P38361.info = {"start":1538,"length":290,"line":63,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeBuffer","argumentNames":["key","value"]} +particles_pruneParticles__P5268.info = {"start":9864,"length":156,"line":327,"column":4,"endLine":330,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"pruneParticles","argumentNames":[]} -function settings_writeBuffer__P38361_mk(s) { +function particles_pruneParticles__P5268_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_writeBuffer__P38361, depth: s.depth + 1, + parent: s, fn: particles_pruneParticles__P5268, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, - arg1: undefined, + tmp_1: undefined, + sources___10784: undefined, } } -function msgpack_packNumberArray__P37659(s) { +function particles_pruneParticles_inline__P10793(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17303,100 +16879,27 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.off___48151 = undefined; - s.n___48153 = undefined; - s.unnamed234___U2 = undefined; - s.unnamed235___U3 = undefined; - s.buf___48163 = undefined; - s.n___48169 = undefined; - s.unnamed236___U6 = undefined; - s.unnamed237___U7 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.off___48151 = (0); - s.n___48153 = (undefined); - s.unnamed234___U2 = (s.arg0); - s.unnamed235___U3 = (0); + s.tmp_0 = particles_ParticleSource__prune__P3158_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1184; s.pc = 1; return s.tmp_0; case 1: - s.tmp_0 = r0 = s.unnamed235___U3; - r0 = pxsim_Array__length(s.unnamed234___U2); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 2; continue; } - r0 = pxsim_Array__getAt(s.unnamed234___U2, s.unnamed235___U3); - s.n___48153 = (r0); - s.tmp_2 = r0 = s.off___48151; - s.tmp_4 = msgpack_packNumberCore__P37657_mk(s); - s.tmp_4.arg0 = null; - s.tmp_4.arg1 = s.off___48151; - s.tmp_4.arg2 = s.n___48153; - s.callLocIdx = 22; 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___48151 = (r0); - r0 = (s.unnamed235___U3 + 1); - s.unnamed235___U3 = (r0); - { step = 1; continue; } - case 2: - s.unnamed234___U2 = (undefined); - r0 = pxsim.control.createBuffer(s.off___48151); - s.buf___48163 = (r0); - s.off___48151 = (0); - s.n___48169 = (undefined); - s.unnamed236___U6 = (s.arg0); - s.unnamed237___U7 = (0); - case 3: - s.tmp_0 = r0 = s.unnamed237___U7; - r0 = pxsim_Array__length(s.unnamed236___U6); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 4; continue; } - r0 = pxsim_Array__getAt(s.unnamed236___U6, s.unnamed237___U7); - s.n___48169 = (r0); - s.tmp_2 = r0 = s.off___48151; - s.tmp_4 = msgpack_packNumberCore__P37657_mk(s); - s.tmp_4.arg0 = s.buf___48163; - s.tmp_4.arg1 = s.off___48151; - s.tmp_4.arg2 = s.n___48169; - s.callLocIdx = 23; 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___48151 = (r0); - r0 = (s.unnamed237___U7 + 1); - s.unnamed237___U7 = (r0); - { step = 3; continue; } - case 4: - s.unnamed236___U6 = (undefined); - r0 = s.buf___48163; + r0 = undefined; return leave(s, r0) default: oops() } } } -msgpack_packNumberArray__P37659.info = {"start":3427,"length":330,"line":117,"column":4,"endLine":128,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberArray","argumentNames":["nums"]} +particles_pruneParticles_inline__P10793.info = {"start":9997,"length":15,"line":329,"column":62,"endLine":329,"endColumn":77,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} -function msgpack_packNumberArray__P37659_mk(s) { +function particles_pruneParticles_inline__P10793_mk(s) { checkStack(s.depth); return { - parent: s, fn: msgpack_packNumberArray__P37659, depth: s.depth + 1, + parent: s, fn: particles_pruneParticles_inline__P10793, depth: s.depth + 1, pc: 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___48151: undefined, - n___48153: undefined, - unnamed234___U2: undefined, - unnamed235___U3: undefined, - buf___48163: undefined, - n___48169: undefined, - unnamed236___U6: undefined, - unnamed237___U7: undefined, arg0: undefined, } } @@ -17404,7 +16907,7 @@ function msgpack_packNumberArray__P37659_mk(s) { -function msgpack_packNumberCore__P37657(s) { +function particles_ParticleSource__prune__P3158(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17414,133 +16917,137 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tag___48183 = undefined; - s.fmt___48226 = undefined; + s.scene___10823 = undefined; + s.sources___10831 = undefined; + s.current___10845 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); - s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - s.tag___48183 = (203); - s.tmp_1 = r0 = s.arg2; - r0 = (s.arg2 << 0); - s.tmp_2 = r0; - r0 = (s.tmp_1 == s.tmp_2); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + case 1: + r0 = s.arg0.fields["head"]; s.tmp_0 = r0; r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 1; continue; } + if (r0) { step = 2; 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); + { step = 3; continue; } 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; } + r0 = s.arg0.fields["head"]; + r0 = r0.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 0); 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); + 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: - r0 = 1; - { step = 23; continue; } - { step = 18; continue; } - case 7: - r0 = (0 <= s.arg2); + // 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__P2998_mk(s); + s.callLocIdx = 1157; s.pc = 21; return s.tmp_5; + case 21: + r0 = s.retval; + s.scene___10823 = (r0); + r0 = pxsim_numops_toBoolDecr(s.scene___10823); + if (!r0) { step = 7; continue; } + r0 = s.scene___10823.fields["allSprites"]; 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___48183 = (204); - { step = 11; continue; } + r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0); + case 7: case 8: - r0 = (s.arg2 <= 65535); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 9; continue; } - s.tag___48183 = (205); + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1158; s.pc = 22; return s.tmp_0; + case 22: + r0 = s.retval; + s.sources___10831 = (r0); + s.tmp_0 = r0 = s.sources___10831; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 9; continue; } + r0 = s.tmp_0; { step = 10; continue; } case 9: - s.tag___48183 = (206); + r0 = pxsim_Array__length(s.sources___10831); 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___10831, s.arg0); case 11: - { step = 17; continue; } case 12: - r0 = (-127 <= s.arg2); + r0 = s.arg0.fields["anchor"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 13; continue; } - s.tag___48183 = (208); - { step = 16; continue; } + r0 = (s.tmp_0 == undefined); case 13: - r0 = (-32767 <= s.arg2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 14; continue; } - s.tag___48183 = (209); - { step = 15; continue; } case 14: - s.tag___48183 = (210); + r0 = s.arg0.fields["head"]; + s.current___10845 = (r0); case 15: + s.tmp_0 = r0 = s.current___10845; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 16; continue; } + r0 = s.tmp_0; + { step = 17; continue; } case 16: + r0 = s.current___10845.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___10845.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___10845.fields["next"]; + r0 = r0.fields["next"]; + s.tmp_4 = r0; + r0 = (s.current___10845).fields["next"] = (s.tmp_4); + { step = 19; continue; } case 18: + r0 = s.current___10845.fields["next"]; + s.current___10845 = (r0); case 19: + { step = 15; continue; } case 20: - s.tmp_0 = msgpack_tagFormat__P37656_mk(s); - s.tmp_0.arg0 = s.tag___48183; - s.callLocIdx = 18; s.pc = 24; return s.tmp_0; - case 24: - r0 = s.retval; - s.fmt___48226 = (r0); - r0 = pxsim_numops_toBoolDecr(s.arg0); - if (!r0) { step = 21; continue; } - r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___48183); - s.tmp_0 = r0 = s.arg0; - s.tmp_1 = r0 = s.fmt___48226; - 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__P37649_mk(s); - s.tmp_1.arg0 = s.fmt___48226; - s.callLocIdx = 19; s.pc = 25; return s.tmp_1; - case 25: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 1); - case 23: + r0 = undefined; return leave(s, r0) default: oops() } } } -msgpack_packNumberCore__P37657.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"]} +particles_ParticleSource__prune__P3158.info = {"start":5104,"length":830,"line":166,"column":8,"endLine":189,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_prune","argumentNames":["this"]} -function msgpack_packNumberCore__P37657_mk(s) { +function particles_ParticleSource__prune__P3158_mk(s) { checkStack(s.depth); return { - parent: s, fn: msgpack_packNumberCore__P37657, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource__prune__P3158, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -17548,20 +17055,17 @@ function msgpack_packNumberCore__P37657_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tag___48183: undefined, - fmt___48226: undefined, + scene___10823: undefined, + sources___10831: undefined, + current___10845: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function msgpack_tagFormat__P37656(s) { +function particles_ParticleSource_enabled__P3163(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17573,70 +17077,66 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_pxtcore.switch_eq(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; } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = particles_ParticleSource_enabled__P3162_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1161; s.pc = 5; return s.tmp_3; + case 5: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 !== s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["pFlags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 | 1); + { step = 2; continue; } case 1: - r0 = 16; - { step = 9; continue; } + r0 = s.arg0.fields["pFlags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 ^ 1); case 2: - r0 = 7; - { step = 9; continue; } + // 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: - 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__P37656.info = {"start":1145,"length":481,"line":42,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"tagFormat","argumentNames":["tag"]} +particles_ParticleSource_enabled__P3163.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 msgpack_tagFormat__P37656_mk(s) { +function particles_ParticleSource_enabled__P3163_mk(s) { checkStack(s.depth); return { - parent: s, fn: msgpack_tagFormat__P37656, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_enabled__P3163, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 pins_sizeOf__P37649(s) { +function particles_ParticleSource_enabled__P3162(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17650,22 +17150,35 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = Buffer_sizeOfNumberFormat__P37685_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 17; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - return leave(s, r0) + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_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() } } } -pins_sizeOf__P37649.info = {"start":42,"length":101,"line":2,"column":4,"endLine":4,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"sizeOf","argumentNames":["format"]} +particles_ParticleSource_enabled__P3162.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__P3162.isGetter = true; -function pins_sizeOf__P37649_mk(s) { +function particles_ParticleSource_enabled__P3162_mk(s) { checkStack(s.depth); return { - parent: s, fn: pins_sizeOf__P37649, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_enabled__P3162, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, arg0: undefined, } } @@ -17673,7 +17186,7 @@ function pins_sizeOf__P37649_mk(s) { -function Buffer_sizeOfNumberFormat__P37685(s) { +function control_popEventContext__P410(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17683,91 +17196,75 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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; } + s.ctx___10954 = undefined; + s.context___10962 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___4422); + 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___4422); + s.ctx___10954 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___10954); + 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: - r0 = 1; - { step = 18; continue; } + s.tmp_2 = control_EventContext_unregister__P402_mk(s); + s.tmp_2.arg0 = s.ctx___10954; + s.callLocIdx = 57; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.tmp_0 = r0 = globals.eventContexts___4422; + r0 = pxsim_Array__length(globals.eventContexts___4422); + 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___10962 = (r0); + r0 = pxsim_numops_toBoolDecr(s.context___10962); + if (!r0) { step = 5; continue; } + s.tmp_0 = control_EventContext_register__P401_mk(s); + s.tmp_0.arg0 = s.context___10962; + s.callLocIdx = 58; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + { step = 6; continue; } case 5: + globals.eventContexts___4422 = (undefined); 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: + r0 = undefined; return leave(s, r0) default: oops() } } } -Buffer_sizeOfNumberFormat__P37685.info = {"start":14912,"length":856,"line":508,"column":4,"endLine":532,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"sizeOfNumberFormat","argumentNames":["format"]} +control_popEventContext__P410.info = {"start":7755,"length":413,"line":236,"column":4,"endLine":250,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"popEventContext","argumentNames":[]} -function Buffer_sizeOfNumberFormat__P37685_mk(s) { +function control_popEventContext__P410_mk(s) { checkStack(s.depth); return { - parent: s, fn: Buffer_sizeOfNumberFormat__P37685, depth: s.depth + 1, + parent: s, fn: control_popEventContext__P410, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, + tmp_2: undefined, + ctx___10954: undefined, + context___10962: undefined, } } -function helpers_setScreenBrightness__P38271(s) { +function control_EventContext_register__P401(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17777,43 +17274,67 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.h___10975 = undefined; + s.unnamed56___U1 = undefined; + s.unnamed57___U2 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = Math_clamp__P37593_mk(s); - s.tmp_0.arg0 = 10; - s.tmp_0.arg1 = 100; - r0 = (s.arg1 | 0); - s.tmp_0.arg2 = r0; - s.callLocIdx = 88; s.pc = 1; return s.tmp_0; + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + s.h___10975 = (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___10975 = (r0); + s.tmp_2 = control_EventHandler_register__P4415_mk(s); + s.tmp_2.arg0 = s.h___10975; + s.callLocIdx = 48; 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__P4420_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 49; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; - s.arg1 = (r0); - globals.brightness___38246 = (s.arg1); - r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___38246); r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_setScreenBrightness__P38271.info = {"start":8945,"length":210,"line":282,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"setScreenBrightness","argumentNames":["img","b"]} +control_EventContext_register__P401.info = {"start":4573,"length":138,"line":135,"column":8,"endLine":139,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} -function helpers_setScreenBrightness__P38271_mk(s) { +function control_EventContext_register__P401_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_setScreenBrightness__P38271, depth: s.depth + 1, + 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___10975: undefined, + unnamed56___U1: undefined, + unnamed57___U2: undefined, arg0: undefined, - arg1: undefined, } } -function scene_systemMenu_brightnessUp__P39653(s) { +function controller__setUserEventsEnabled__P2206(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17823,34 +17344,30 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_setScreenBrightness__P39655_mk(s); - r0 = globals.brightness___38246; - s.tmp_1 = r0; - r0 = (s.tmp_1 + 5); - s.tmp_0.arg0 = r0; - s.callLocIdx = 1079; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + globals._userEventsEnabled___4718 = (s.arg0); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_brightnessUp__P39653.info = {"start":9107,"length":85,"line":285,"column":4,"endLine":287,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessUp","argumentNames":[]} +controller__setUserEventsEnabled__P2206.info = {"start":10070,"length":101,"line":291,"column":4,"endLine":293,"endColumn":5,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"_setUserEventsEnabled","argumentNames":["enabled"]} -function scene_systemMenu_brightnessUp__P39653_mk(s) { +function controller__setUserEventsEnabled__P2206_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_brightnessUp__P39653, depth: s.depth + 1, + parent: s, fn: controller__setUserEventsEnabled__P2206, 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_volumeDown__P39652(s) { +function scene_systemMenu_MenuOption_constructor__P3087(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17860,54 +17377,40 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.v___48515 = undefined; - s.remainder___48518 = undefined; - s.newVolume___48521 = undefined; - s.tmp_0 = music_volume__P37964_mk(s); - s.callLocIdx = 1076; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.v___48515 = (r0); - r0 = (s.v___48515 % 32); - s.remainder___48518 = (r0); - r0 = pxsim_numops_toBoolDecr(s.remainder___48518); - if (!r0) { step = 1; continue; } - r0 = s.remainder___48518; - { step = 2; continue; } - case 1: - r0 = 32; - case 2: - // jmp value (already in r0) - s.tmp_0 = r0; - r0 = (s.v___48515 - s.tmp_0); - s.newVolume___48521 = (r0); - s.tmp_0 = scene_systemMenu_setVolume__P39650_mk(s); - s.tmp_0.arg0 = s.newVolume___48521; - s.callLocIdx = 1077; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; + 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__C3086_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_volumeDown__P39652.info = {"start":8914,"length":187,"line":278,"column":4,"endLine":283,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeDown","argumentNames":[]} +scene_systemMenu_MenuOption_constructor__P3087.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_volumeDown__P39652_mk(s) { +function scene_systemMenu_MenuOption_constructor__P3087_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_volumeDown__P39652, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_constructor__P3087, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - v___48515: undefined, - remainder___48518: undefined, - newVolume___48521: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function scene_systemMenu_setVolume__P39650(s) { +function helpers_screenBrightness__P1966(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17921,35 +17424,17 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = music_setVolume__P37963_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1071; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.tmp_0 = music_playTone__P37966_mk(s); - s.tmp_0.arg0 = 440; - s.tmp_0.arg1 = 500; - s.callLocIdx = 1072; s.pc = 2; return s.tmp_0; - case 2: - r0 = s.retval; - s.tmp_0 = settings_writeNumber__P38364_mk(s); - s.tmp_0.arg0 = "#volume"; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 1073; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - r0 = undefined; + r0 = globals.brightness___1951; return leave(s, r0) default: oops() } } } -scene_systemMenu_setVolume__P39650.info = {"start":8565,"length":166,"line":265,"column":4,"endLine":269,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setVolume","argumentNames":["newVolume"]} +helpers_screenBrightness__P1966.info = {"start":9161,"length":98,"line":288,"column":4,"endLine":290,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"screenBrightness","argumentNames":["img"]} -function scene_systemMenu_setVolume__P39650_mk(s) { +function helpers_screenBrightness__P1966_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_setVolume__P39650, depth: s.depth + 1, + parent: s, fn: helpers_screenBrightness__P1966, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, } } @@ -17957,7 +17442,7 @@ function scene_systemMenu_setVolume__P39650_mk(s) { -function music_playTone__P37966(s) { +function music_volume__P1621(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -17967,82 +17452,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.id___48356 = 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); + s.tmp_0 = music_initVolume__P4457_mk(s); + s.callLocIdx = 62; s.pc = 1; return s.tmp_0; 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__P37965_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 = 65; s.pc = 5; return s.tmp_2; - case 5: - r0 = s.retval; - s.tmp_0 = pause__P37835_mk(s); - r0 = pxsim_pxtrt_ldlocRef(s.arg1); - s.tmp_0.arg0 = r0; - s.callLocIdx = 66; s.pc = 6; return s.tmp_0; - case 6: r0 = s.retval; - { step = 4; continue; } - case 3: - r0 = (globals.playToneID___37968 + 1); - s.tmp_0 = r0; - globals.playToneID___37968 = (r0); - s.id___48356 = (s.tmp_0); - r0 = pxsim_pxtcore_mkAction(3, music_playTone_inline__P48362); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___48356); - 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; + r0 = globals.globalVolume___4453; return leave(s, r0) default: oops() } } } -music_playTone__P37966.info = {"start":2612,"length":831,"line":84,"column":4,"endLine":109,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playTone","argumentNames":["frequency","ms"]} +music_volume__P1621.info = {"start":1781,"length":90,"line":61,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"volume","argumentNames":[]} -function music_playTone__P37966_mk(s) { +function music_volume__P1621_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_playTone__P37966, depth: s.depth + 1, + parent: s, fn: music_volume__P1621, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - id___48356: undefined, - arg0: undefined, - arg1: undefined, } } -function music_playTone_inline__P48362(s) { +function music_initVolume__P4457(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18052,106 +17484,38 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.pos___48363 = undefined; - s.now___48373 = undefined; - s.d___48376 = undefined; - s.t___48380 = undefined; - r0 = pxsim.control.millis(); - s.pos___48363 = (r0); - case 1: - r0 = (s.caps[0] == globals.playToneID___37968); - 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___48373 = (r0); - r0 = (s.pos___48363 - s.now___48373); - s.d___48376 = (r0); - s.tmp_0 = Math_min__P37597_mk(s); - r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = 500; - s.callLocIdx = 67; s.pc = 7; return s.tmp_0; - case 7: - r0 = s.retval; - s.t___48380 = (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___48380); - s.tmp_1 = r0; - r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); - r0 = (s.pos___48363 + s.t___48380); - s.pos___48363 = (r0); - s.tmp_0 = music_playNoteCore__P37965_mk(s); - r0 = (s.d___48376 - 1); - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.caps[2]; - s.tmp_0.arg2 = s.t___48380; - s.callLocIdx = 68; 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); + r0 = (globals.globalVolume___4453 === null); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - s.tmp_2 = pause__P37835_mk(s); - r0 = (s.d___48376 + s.t___48380); - s.tmp_2.arg0 = r0; - s.callLocIdx = 69; s.pc = 9; return s.tmp_2; - case 9: - r0 = s.retval; - { step = 5; continue; } - case 4: - s.tmp_0 = pause__P37835_mk(s); - r0 = (s.d___48376 + s.t___48380); - s.tmp_1 = r0; - r0 = (s.tmp_1 - 100); + if (!r0) { step = 1; continue; } + globals.globalVolume___4453 = (0); + s.tmp_0 = music_setVolume__P1620_mk(s); + r0 = pxsim_pxtcore.getConfig(59, 128); s.tmp_0.arg0 = r0; - s.callLocIdx = 70; s.pc = 10; return s.tmp_0; - case 10: + s.callLocIdx = 59; s.pc = 3; return s.tmp_0; + case 3: r0 = s.retval; - case 5: - { step = 1; continue; } - case 6: + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -music_playTone_inline__P48362.info = {"start":2911,"length":515,"line":93,"column":34,"endLine":107,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} +music_initVolume__P4457.info = {"start":1014,"length":180,"line":33,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"initVolume","argumentNames":[]} -function music_playTone_inline__P48362_mk(s) { +function music_initVolume__P4457_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_playTone_inline__P48362, depth: s.depth + 1, + parent: s, fn: music_initVolume__P4457, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - pos___48363: undefined, - now___48373: undefined, - d___48376: undefined, - t___48380: undefined, } } -function music_playNoteCore__P37965(s) { +function helpers_arrayConcat__P113(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18161,57 +17525,83 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.buf___48410 = undefined; + s.out___12239 = undefined; + s.value___12242 = undefined; + s.unnamed46___U2 = undefined; + s.unnamed47___U3 = undefined; + s.value___12249 = undefined; + s.unnamed48___U5 = undefined; + s.unnamed49___U6 = 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___48410 = (r0); - s.tmp_0 = music_addNote__P37985_mk(s); - s.tmp_0.arg0 = s.buf___48410; - 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__P37964_mk(s); - s.callLocIdx = 63; 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 = 64; s.pc = 1; return s.tmp_0; + r0 = pxsim_Array__mk(); + s.out___12239 = (r0); + s.value___12242 = (undefined); + s.unnamed46___U2 = (s.arg0); + s.unnamed47___U3 = (0); case 1: - r0 = s.retval; - r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___48410); - r0 = undefined; + 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___12242 = (r0); + r0 = pxsim_Array__push(s.out___12239, s.value___12242); + r0 = (s.unnamed47___U3 + 1); + s.unnamed47___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed46___U2 = (undefined); + s.value___12249 = (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___12249 = (r0); + r0 = pxsim_Array__push(s.out___12239, s.value___12249); + r0 = (s.unnamed49___U6 + 1); + s.unnamed49___U6 = (r0); + { step = 3; continue; } + case 4: + s.unnamed48___U5 = (undefined); + r0 = s.out___12239; return leave(s, r0) default: oops() } } } -music_playNoteCore__P37965.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"]} +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 music_playNoteCore__P37965_mk(s) { +function helpers_arrayConcat__P113_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_playNoteCore__P37965, depth: s.depth + 1, + 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, - buf___48410: undefined, + out___12239: undefined, + value___12242: undefined, + unnamed46___U2: undefined, + unnamed47___U3: undefined, + value___12249: undefined, + unnamed48___U5: undefined, + unnamed49___U6: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function music_addNote__P37985(s) { +function scene_systemMenu_PauseMenu_show__P3096(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18221,91 +17611,336 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.current___10185 = undefined; + s.i___10186 = 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.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); + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_VT)) failedCast(r0); s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 + 6); + s.tmp_2 = if_generator_1_mk(s); + s.tmp_2.arg0 = s.arg0; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "generator"), 1); + s.callLocIdx = 999; s.pc = 3; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["generator"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["generator"], 1); s.callLocIdx = 999; s.pc = 3; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 999; s.pc = 3; return s.tmp_2;; } + else { s.callLocIdx = 999; s.pc = 3; return s.tmp_2; } + } + case 3: + r0 = s.retval; s.tmp_1 = r0; - r0 = (s.arg3 * s.arg7); + r0 = (s.tmp_0).fields["options"] = (s.tmp_1); + r0 = (s.arg0).fields["selection"] = (0); + s.i___10186 = (0); + case 1: + s.tmp_1 = r0 = s.i___10186; + r0 = s.arg0.fields["options"]; s.tmp_3 = r0; - r0 = (s.tmp_3 >> 6); + r0 = pxsim_Array__length(s.tmp_3); 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); + 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___10186); + s.current___10185 = (r0); + s.tmp_0 = scene_systemMenu_MenuOption_show__P3088_mk(s); + s.tmp_0.arg0 = s.current___10185; + s.callLocIdx = 1000; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P3091_mk(s); + s.tmp_0.arg0 = s.current___10185; + r0 = s.arg0.fields["theme"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1001; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_MenuOption_position__P3089_mk(s); + s.tmp_0.arg0 = s.current___10185; + s.tmp_2 = if_padding_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "padding"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["padding"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["padding"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1002; s.pc = 7; return s.tmp_2; } + } + case 7: + r0 = s.retval; s.tmp_1 = r0; - r0 = (s.arg4 * s.arg7); + s.tmp_5 = r0 = s.i___10186; + s.tmp_7 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_7.arg0 = r0; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardsPerRow"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 1003; s.pc = 8; return s.tmp_7; } + } + case 8: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_5 % s.tmp_6); + s.tmp_4 = r0; + s.tmp_10 = if_cardWidth_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_10.arg0 = r0; + if (!s.tmp_10.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, "cardWidth"); + } else { + s.tmp_10.fn = s.tmp_10.arg0.vtable.iface["cardWidth"]; + if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields["cardWidth"]; } + else if (!s.tmp_10.fn.isGetter) { s.retval = bind(s.tmp_10); } + else { s.callLocIdx = 1004; s.pc = 9; return s.tmp_10; } + } + case 9: + r0 = s.retval; + s.tmp_9 = r0; + s.tmp_12 = if_cardSpacing_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_12.arg0 = r0; + if (!s.tmp_12.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "cardSpacing"); + } else { + s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["cardSpacing"]; + if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields["cardSpacing"]; } + else if (!s.tmp_12.fn.isGetter) { s.retval = bind(s.tmp_12); } + else { s.callLocIdx = 1005; s.pc = 10; return s.tmp_12; } + } + case 10: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_9 + s.tmp_11); + s.tmp_8 = r0; + r0 = (s.tmp_4 * s.tmp_8); s.tmp_3 = r0; - r0 = (s.tmp_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: + r0 = (s.tmp_1 + s.tmp_3); + s.tmp_0.arg1 = r0; + s.tmp_14 = if_cardsTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_14.arg0 = r0; + if (!s.tmp_14.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "cardsTop"); + } else { + s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["cardsTop"]; + if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["cardsTop"]; } + else if (!s.tmp_14.fn.isGetter) { s.retval = bind(s.tmp_14); } + else { s.callLocIdx = 1006; s.pc = 11; return s.tmp_14; } + } + case 11: + r0 = s.retval; + s.tmp_13 = r0; + s.tmp_17 = r0 = s.i___10186; + s.tmp_19 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_19.arg0 = r0; + if (!s.tmp_19.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, "cardsPerRow"); + } else { + s.tmp_19.fn = s.tmp_19.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_19.fn.isGetter) { s.retval = bind(s.tmp_19); } + else { s.callLocIdx = 1007; s.pc = 12; return s.tmp_19; } + } + case 12: + r0 = s.retval; + s.tmp_18 = r0; + r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18); + s.tmp_16 = r0; + s.tmp_22 = if_cardWidth_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_22.arg0 = r0; + if (!s.tmp_22.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, "cardWidth"); + } else { + s.tmp_22.fn = s.tmp_22.arg0.vtable.iface["cardWidth"]; + if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields["cardWidth"]; } + else if (!s.tmp_22.fn.isGetter) { s.retval = bind(s.tmp_22); } + else { s.callLocIdx = 1008; s.pc = 13; return s.tmp_22; } + } + case 13: + r0 = s.retval; + s.tmp_21 = r0; + s.tmp_24 = if_cardSpacing_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_24.arg0 = r0; + if (!s.tmp_24.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, "cardSpacing"); + } else { + s.tmp_24.fn = s.tmp_24.arg0.vtable.iface["cardSpacing"]; + if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields["cardSpacing"]; } + else if (!s.tmp_24.fn.isGetter) { s.retval = bind(s.tmp_24); } + else { s.callLocIdx = 1009; s.pc = 14; return s.tmp_24; } + } + case 14: + r0 = s.retval; + s.tmp_23 = r0; + r0 = (s.tmp_21 + s.tmp_23); + s.tmp_20 = r0; + r0 = (s.tmp_16 * s.tmp_20); + s.tmp_15 = r0; + r0 = (s.tmp_13 + s.tmp_15); + s.tmp_0.arg2 = r0; + s.callLocIdx = 1010; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = (s.i___10186 + 1); + s.i___10186 = (r0); + { step = 1; continue; } case 2: - r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0); - r0 = s.arg1; + s.tmp_0 = controller__setUserEventsEnabled__P2206_mk(s); + s.tmp_0.arg0 = false; + s.callLocIdx = 1011; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10249); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P2196_mk(s); + s.tmp_1.arg0 = globals.A___2113; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1013; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10269); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P2196_mk(s); + s.tmp_1.arg0 = globals.A___2113; + s.tmp_1.arg1 = 2052; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1015; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P2196_mk(s); + s.tmp_0.arg0 = globals.B___2114; + s.tmp_0.arg1 = 2053; + s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P10298; + s.callLocIdx = 1017; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P2196_mk(s); + s.tmp_0.arg0 = globals.menu___2119; + s.tmp_0.arg1 = 2053; + s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P10303; + s.callLocIdx = 1019; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10308); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P2196_mk(s); + s.tmp_1.arg0 = globals.up___2116; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1023; s.pc = 20; return s.tmp_1; + case 20: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10320); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P2196_mk(s); + s.tmp_1.arg0 = globals.left___2115; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1026; s.pc = 21; return s.tmp_1; + case 21: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10329); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P2196_mk(s); + s.tmp_1.arg0 = globals.down___2118; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1030; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10345); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P2196_mk(s); + s.tmp_1.arg0 = globals.right___2117; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1033; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P10357); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = game_onShade__P3016_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1036; s.pc = 24; return s.tmp_1; + case 24: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P3098_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 1037; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -music_addNote__P37985.info = {"start":10288,"length":911,"line":323,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"addNote","argumentNames":["sndInstr","sndInstrPtr","ms","beg","end","soundWave","hz","volume","endHz"]} +scene_systemMenu_PauseMenu_show__P3096.info = {"start":3296,"length":2241,"line":123,"column":8,"endLine":181,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]} -function music_addNote__P37985_mk(s) { +function scene_systemMenu_PauseMenu_show__P3096_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_addNote__P37985, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show__P3096, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___10185: undefined, + i___10186: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, - arg5: undefined, - arg6: undefined, - arg7: undefined, - arg8: undefined, } } -function music_setVolume__P37963(s) { +function scene_systemMenu_PauseMenu_show_inline__P10249(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18315,52 +17950,75 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - s.tmp_0 = Math_clamp__P37593_mk(s); - s.tmp_0.arg0 = 0; - s.tmp_0.arg1 = 255; - r0 = (s.arg0 | 0); - s.tmp_0.arg2 = r0; - s.callLocIdx = 60; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - globals.globalVolume___37958 = (r0); - r0 = (globals.globalVolume___37958 > 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_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = 1; + r0 = s.tmp_0; { step = 2; continue; } case 1: - r0 = 0; + 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_1 = r0; - r0 = undefined; + 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__P3092_mk(s); + r0 = s.caps[0].fields["options"]; + s.tmp_9 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_10 = r0; + r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10); + s.tmp_8.arg0 = r0; + s.tmp_8.arg1 = 1; + s.callLocIdx = 1012; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + case 5: r0 = undefined; return leave(s, r0) default: oops() } } } -music_setVolume__P37963.info = {"start":1533,"length":153,"line":51,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"setVolume","argumentNames":["volume"]} +scene_systemMenu_PauseMenu_show_inline__P10249.info = {"start":4025,"length":170,"line":140,"column":50,"endLine":143,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function music_setVolume__P37963_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10249_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_setVolume__P37963, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10249, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - arg0: 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 music_enableAmp__P37961(s) { +function scene_systemMenu_PauseMenu_show_inline__P10269(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18370,29 +18028,83 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } + 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__P3092_mk(s); + r0 = s.caps[0].fields["options"]; + s.tmp_9 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_10 = r0; + r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10); + s.tmp_8.arg0 = r0; + s.tmp_8.arg1 = 0; + s.callLocIdx = 1014; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + r0 = s.caps[0].fields["options"]; + s.tmp_1 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2); + r0 = r0.fields["action"]; + s.tmp_0 = r0; + r0 = pxsim.control.runInParallel(s.tmp_0); + case 5: r0 = undefined; return leave(s, r0) default: oops() } } } -music_enableAmp__P37961.info = {"start":944,"length":64,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"enableAmp","argumentNames":["en"]} +scene_systemMenu_PauseMenu_show_inline__P10269.info = {"start":4247,"length":247,"line":145,"column":48,"endLine":149,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function music_enableAmp__P37961_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10269_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_enableAmp__P37961, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10269, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, + 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_volumeUp__P39651(s) { +function scene_systemMenu_PauseMenu_show_inline__P10298(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18402,47 +18114,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.v___48324 = undefined; - s.remainder___48327 = undefined; - s.newVolume___48330 = undefined; - s.tmp_0 = music_volume__P37964_mk(s); - s.callLocIdx = 1074; s.pc = 1; return s.tmp_0; + s.tmp_0 = scene_systemMenu_closeMenu__P3101_mk(s); + s.callLocIdx = 1016; s.pc = 1; return s.tmp_0; case 1: - r0 = s.retval; - s.v___48324 = (r0); - r0 = (s.v___48324 % 32); - s.remainder___48327 = (r0); - r0 = (s.v___48324 + 32); - s.tmp_0 = r0; - r0 = (s.tmp_0 - s.remainder___48327); - s.newVolume___48330 = (r0); - s.tmp_0 = scene_systemMenu_setVolume__P39650_mk(s); - s.tmp_0.arg0 = s.newVolume___48330; - s.callLocIdx = 1075; s.pc = 2; return s.tmp_0; - case 2: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_volumeUp__P39651.info = {"start":8737,"length":171,"line":271,"column":4,"endLine":276,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeUp","argumentNames":[]} +scene_systemMenu_PauseMenu_show_inline__P10298.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_volumeUp__P39651_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10298_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_volumeUp__P39651, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10298, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - v___48324: undefined, - remainder___48327: undefined, - newVolume___48330: undefined, } } -function scene_systemMenu_MenuOption_constructor__P39641(s) { +function scene_systemMenu_PauseMenu_show_inline__P10303(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18452,40 +18146,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C39633_VT)) failedCast(r0); - r0 = (s.arg0).fields["iconImage"] = (s.arg1); - r0 = (s.arg0).fields["getText"] = (s.arg2); - r0 = (s.arg0).fields["action"] = (s.arg3); + s.tmp_0 = scene_systemMenu_closeMenu__P3101_mk(s); + s.callLocIdx = 1018; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_MenuOption_constructor__P39641.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"]} +scene_systemMenu_PauseMenu_show_inline__P10303.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_MenuOption_constructor__P39641_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10303_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_constructor__P39641, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10303, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, + tmp_0: undefined, } } -function helpers_screenBrightness__P38272(s) { +function scene_systemMenu_PauseMenu_show_inline__P10308(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18495,29 +18178,58 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P3098_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 = 1020; s.pc = 3; return s.tmp_4; } } - r0 = globals.brightness___38246; + case 3: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_2 - s.tmp_3); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1021; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1022; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_screenBrightness__P38272.info = {"start":9161,"length":98,"line":288,"column":4,"endLine":290,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"screenBrightness","argumentNames":["img"]} +scene_systemMenu_PauseMenu_show_inline__P10308.info = {"start":4760,"length":110,"line":159,"column":51,"endLine":161,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function helpers_screenBrightness__P38272_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10308_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_screenBrightness__P38272, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10308, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, } } -function music_volume__P37964(s) { +function scene_systemMenu_PauseMenu_show_inline__P10320(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18527,29 +18239,42 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = music_initVolume__P37962_mk(s); - s.callLocIdx = 62; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = globals.globalVolume___37958; - return leave(s, r0) + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P3098_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 = 1024; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1025; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) default: oops() } } } -music_volume__P37964.info = {"start":1781,"length":90,"line":61,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"volume","argumentNames":[]} +scene_systemMenu_PauseMenu_show_inline__P10320.info = {"start":4927,"length":89,"line":163,"column":53,"endLine":165,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function music_volume__P37964_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10320_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_volume__P37964, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10320, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, } } -function music_initVolume__P37962(s) { +function scene_systemMenu_PauseMenu_show_inline__P10329(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18559,38 +18284,65 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = (globals.globalVolume___37958 === null); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - globals.globalVolume___37958 = (0); - s.tmp_0 = music_setVolume__P37963_mk(s); - r0 = pxsim_pxtcore.getConfig(59, 128); - s.tmp_0.arg0 = r0; - s.callLocIdx = 59; s.pc = 3; return s.tmp_0; + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P3098_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 = 1027; s.pc = 3; return s.tmp_6; } + } case 3: r0 = s.retval; - case 1: + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1028; s.pc = 2; return s.tmp_1; case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1029; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -music_initVolume__P37962.info = {"start":1014,"length":180,"line":33,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"initVolume","argumentNames":[]} +scene_systemMenu_PauseMenu_show_inline__P10329.info = {"start":5073,"length":132,"line":167,"column":53,"endLine":169,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function music_initVolume__P37962_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10329_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_initVolume__P37962, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10329, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 helpers_arrayConcat__P37578(s) { +function scene_systemMenu_PauseMenu_show_inline__P10345(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18600,83 +18352,49 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.out___47878 = undefined; - s.value___47881 = undefined; - s.unnamed230___U2 = undefined; - s.unnamed231___U3 = undefined; - s.value___47888 = undefined; - s.unnamed232___U5 = undefined; - s.unnamed233___U6 = undefined; - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); - s.lambdaArgs = null; - } - r0 = pxsim_Array__mk(); - s.out___47878 = (r0); - s.value___47881 = (undefined); - s.unnamed230___U2 = (s.arg0); - s.unnamed231___U3 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed231___U3; - r0 = pxsim_Array__length(s.unnamed230___U2); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 2; continue; } - r0 = pxsim_Array__getAt(s.unnamed230___U2, s.unnamed231___U3); - s.value___47881 = (r0); - r0 = pxsim_Array__push(s.out___47878, s.value___47881); - r0 = (s.unnamed231___U3 + 1); - s.unnamed231___U3 = (r0); - { step = 1; continue; } + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P3098_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 = 1031; s.pc = 2; return s.tmp_1; case 2: - s.unnamed230___U2 = (undefined); - s.value___47888 = (undefined); - s.unnamed232___U5 = (s.arg1); - s.unnamed233___U6 = (0); - case 3: - s.tmp_0 = r0 = s.unnamed233___U6; - r0 = pxsim_Array__length(s.unnamed232___U5); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 4; continue; } - r0 = pxsim_Array__getAt(s.unnamed232___U5, s.unnamed233___U6); - s.value___47888 = (r0); - r0 = pxsim_Array__push(s.out___47878, s.value___47888); - r0 = (s.unnamed233___U6 + 1); - s.unnamed233___U6 = (r0); - { step = 3; continue; } - case 4: - s.unnamed232___U5 = (undefined); - r0 = s.out___47878; + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1032; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arrayConcat__P37578.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"]} +scene_systemMenu_PauseMenu_show_inline__P10345.info = {"start":5263,"length":111,"line":171,"column":54,"endLine":173,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} -function helpers_arrayConcat__P37578_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10345_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayConcat__P37578, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10345, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - out___47878: undefined, - value___47881: undefined, - unnamed230___U2: undefined, - unnamed231___U3: undefined, - value___47888: undefined, - unnamed232___U5: undefined, - unnamed233___U6: undefined, - arg0: undefined, - arg1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, } } -function scene_systemMenu_PauseMenu_constructor__P39649(s) { +function scene_systemMenu_PauseMenu_show_inline__P10357(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18686,61 +18404,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C39642_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; } + s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P3097_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1034; s.pc = 1; return s.tmp_0; case 1: - s.tmp_1 = scene_systemMenu_buildMenuTheme__P39662_mk(s); - r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___39676); - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 3; - s.tmp_1.arg2 = undefined; - s.tmp_1.arg3 = undefined; - s.callLocIdx = 998; s.pc = 3; return s.tmp_1; - case 3: r0 = s.retval; + s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P3099_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1035; s.pc = 2; return s.tmp_0; 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 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_constructor__P39649.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"]} +scene_systemMenu_PauseMenu_show_inline__P10357.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_constructor__P39649_mk(s) { +function scene_systemMenu_PauseMenu_show_inline__P10357_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_constructor__P39649, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P10357, 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__P39662(s) { +function scene_systemMenu_PauseMenu_drawText__P3099(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18750,120 +18442,277 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.cardsPerRow___48561 = 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___38324); - s.tmp_0 = r0; - r0 = (s.arg0 + s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_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.Math_.idiv(s.tmp_0, s.tmp_1); - s.cardsPerRow___48561 = (r0); - s.tmp_0 = r0 = s.arg2; - r0 = pxsim_numops_toBool(s.tmp_0); + 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.tmp_0; - { step = 2; continue; } + { step = 3; continue; } case 1: - r0 = globals.font8___38276; 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__P38280_mk(s); - s.tmp_1.arg0 = s.arg2; - s.callLocIdx = 1108; s.pc = 5; return s.tmp_1; + s.tmp_3 = helpers_imageFillRect__P1956_mk(s); + s.tmp_3.arg0 = globals.screen___2032; + s.tmp_3.arg1 = 0; + s.tmp_3.arg2 = 0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.tmp_3.arg3 = r0; + s.tmp_5 = if_cardsTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardsTop"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardsTop"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardsTop"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1048; s.pc = 5; return s.tmp_5; } + } case 5: r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 - 2); + s.tmp_3.arg4 = r0; + s.tmp_3.arg5 = 15; + s.callLocIdx = 1049; s.pc = 4; return s.tmp_3; case 4: - // 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___48561); - r0 = pxsim_ImageMethods.width(globals.screen___38324); + r0 = s.retval; + s.tmp_0 = helpers_imagePrintCenter__P1989_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_1 = if_headerText_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "headerText"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["headerText"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["headerText"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 1050; s.pc = 7; return s.tmp_1; } + } + case 7: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 2; + s.tmp_0.arg3 = 1; + s.tmp_2 = if_headerFont_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "headerFont"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["headerFont"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["headerFont"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1051; s.pc = 8; return s.tmp_2; } + } + case 8: + r0 = s.retval; + s.tmp_0.arg4 = r0; + s.callLocIdx = 1052; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1956_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_0.arg1 = 0; + s.tmp_2 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1053; s.pc = 10; return s.tmp_2; } + } + case 10: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 3); + s.tmp_0.arg2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.tmp_0.arg3 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.tmp_4 = r0; + s.tmp_6 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoTop"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoTop"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoTop"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1054; s.pc = 11; return s.tmp_6; } + } + case 11: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_4 - s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 + 6); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 15; + s.callLocIdx = 1055; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1956_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_1 = if_padding_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "padding"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["padding"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["padding"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 1056; s.pc = 13; return s.tmp_1; } + } + case 13: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1057; s.pc = 14; return s.tmp_2; } + } + case 14: + r0 = s.retval; + s.tmp_0.arg2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); s.tmp_3 = r0; - r0 = (s.cardsPerRow___48561 * s.arg0); + s.tmp_6 = if_padding_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "padding"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["padding"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["padding"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1058; s.pc = 15; return s.tmp_6; } + } + case 15: + r0 = s.retval; s.tmp_5 = r0; - r0 = (s.cardsPerRow___48561 - 1); - s.tmp_7 = r0; - r0 = (s.tmp_7 * s.arg1); - s.tmp_6 = r0; - r0 = (s.tmp_5 + s.tmp_6); + r0 = (s.tmp_5 << 1); s.tmp_4 = r0; r0 = (s.tmp_3 - s.tmp_4); + s.tmp_0.arg3 = r0; + s.tmp_8 = if_charHeight_1_mk(s); + s.tmp_9 = if_infoFont_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_9.arg0 = r0; + if (!s.tmp_9.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "infoFont"); + } else { + s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["infoFont"]; + if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["infoFont"]; } + else if (!s.tmp_9.fn.isGetter) { s.retval = bind(s.tmp_9); } + else { s.callLocIdx = 1059; s.pc = 17; return s.tmp_9; } + } + case 17: + r0 = s.retval; + s.tmp_8.arg0 = r0; + if (!s.tmp_8.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight"); + } else { + s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"]; + if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; } + else if (!s.tmp_8.fn.isGetter) { s.retval = bind(s.tmp_8); } + else { s.callLocIdx = 1060; s.pc = 16; return s.tmp_8; } + } + case 16: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_7 + 1); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1061; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = helpers_imagePrintCenter__P1989_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_1 = if_getText_1_mk(s); + r0 = s.arg0.fields["options"]; 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"); + r0 = s.arg0.fields["selection"]; + s.tmp_3 = r0; + r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3); + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "getText"), 1); + s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } else { - s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"]; - if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; } - else if (!s.tmp_11.fn.isGetter) { s.retval = bind(s.tmp_11); } - else { s.callLocIdx = 1109; s.pc = 6; return s.tmp_11; } + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["getText"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["getText"], 1); s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 1062; s.pc = 19; return s.tmp_1;; } + else { s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } } - case 6: + case 19: 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___38324); - 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"); + 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_16.fn = s.tmp_16.arg0.vtable.iface["charHeight"]; - if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields["charHeight"]; } - else if (!s.tmp_16.fn.isGetter) { s.retval = bind(s.tmp_16); } - else { s.callLocIdx = 1110; s.pc = 7; return s.tmp_16; } + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["infoTop"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["infoTop"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1063; s.pc = 20; return s.tmp_5; } } - case 7: + case 20: 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___39679); - r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "activeCard", globals.CARD_ACTIVE___39682); - r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "basicCard", globals.CARD_NORMAL___39676); - r0 = s.tmp_0; + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 15; + s.tmp_6 = if_infoFont_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoFont"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoFont"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoFont"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1064; s.pc = 21; return s.tmp_6; } + } + case 21: + r0 = s.retval; + s.tmp_0.arg4 = r0; + s.callLocIdx = 1065; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + case 3: + r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_buildMenuTheme__P39662.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"]} +scene_systemMenu_PauseMenu_drawText__P3099.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_buildMenuTheme__P39662_mk(s) { +function scene_systemMenu_PauseMenu_drawText__P3099_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_buildMenuTheme__P39662, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_drawText__P3099, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -18875,25 +18724,14 @@ function scene_systemMenu_buildMenuTheme__P39662_mk(s) { 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___48561: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function image_doubledFont__P38280(s) { +function helpers_imagePrintCenter__P1989(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18903,35 +18741,92 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.w___10444 = undefined; + s.x___10450 = 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 = image_scaledFont__P38281_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 2; - s.callLocIdx = 89; s.pc = 1; return s.tmp_0; + 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__P1977_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 95; 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 = 96; 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___10444 = (r0); + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.w___10444); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 2); + s.x___10450 = (r0); + s.tmp_0 = helpers_imagePrint__P1990_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.x___10450; + 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 = 97; s.pc = 5; return s.tmp_0; + case 5: r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -image_doubledFont__P38280.info = {"start":12008,"length":82,"line":146,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"doubledFont","argumentNames":["f"]} +helpers_imagePrintCenter__P1989.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 image_doubledFont__P38280_mk(s) { +function helpers_imagePrintCenter__P1989_mk(s) { checkStack(s.depth); return { - parent: s, fn: image_doubledFont__P38280, depth: s.depth + 1, + parent: s, fn: helpers_imagePrintCenter__P1989, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + w___10444: undefined, + x___10450: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, } } -function image_scaledFont__P38281(s) { +function scene_systemMenu_PauseMenu_setSelection__P3098(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -18946,112 +18841,95 @@ switch (step) { s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg1 | 0); - s.arg1 = (r0); - r0 = (s.arg1 < 2); + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_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; } - r0 = s.arg0; - { step = 5; continue; } + { step = 9; 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 = 90; 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 = 91; s.pc = 7; return s.tmp_7; } - } - case 7: - r0 = s.retval; - s.tmp_6 = r0; - r0 = (s.tmp_6 * s.arg1); + r0 = s.arg0.fields["options"]; + s.tmp_4 = r0; + r0 = s.arg0.fields["selection"]; 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 = 92; 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 = 93; s.pc = 9; return s.tmp_11; } - } - case 9: - r0 = s.retval; - s.tmp_10 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_10); + 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_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 = 94; s.pc = 10; return s.tmp_14; } - } + s.tmp_6 = scene_systemMenu_MenuOption_setState__P3092_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_7 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_8 = r0; + r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = 2; + s.callLocIdx = 1045; s.pc = 10; return s.tmp_6; case 10: r0 = s.retval; - 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; + 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__C2189_v0_1_mk(s); + s.tmp_4.arg0 = globals.A___2113; + if (!checkSubtype(s.tmp_4.arg0, controller_Button__C2189_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__P3092_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_7 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_8 = r0; + r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = s.tmp_5; + s.callLocIdx = 1046; s.pc = 12; return s.tmp_6; + case 12: + r0 = s.retval; + case 7: + case 8: + s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P5178_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1047; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + case 9: + r0 = undefined; return leave(s, r0) default: oops() } } } -image_scaledFont__P38281.info = {"start":12096,"length":331,"line":150,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"scaledFont","argumentNames":["f","size"]} +scene_systemMenu_PauseMenu_setSelection__P3098.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 image_scaledFont__P38281_mk(s) { +function scene_systemMenu_PauseMenu_setSelection__P3098_mk(s) { checkStack(s.depth); return { - parent: s, fn: image_scaledFont__P38281, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P3098, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -19062,13 +18940,6 @@ function image_scaledFont__P38281_mk(s) { 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, } } @@ -19077,7 +18948,7 @@ function image_scaledFont__P38281_mk(s) { -function scene_systemMenu_PauseMenu_show__P39643(s) { +function scene_systemMenu_PauseMenu_updateScrollTarget__P5178(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19087,300 +18958,121 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.current___45772 = undefined; - s.i___45773 = undefined; + s.row___10700 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C39642_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = if_generator_1_mk(s); - s.tmp_2.arg0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_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) { - setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "generator"), 1); - s.callLocIdx = 999; s.pc = 3; return s.tmp_2; + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "cardsPerRow"); } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["generator"]; - if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["generator"], 1); s.callLocIdx = 999; s.pc = 3; return s.tmp_2; } - else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 999; s.pc = 3; return s.tmp_2;; } - else { s.callLocIdx = 999; s.pc = 3; return s.tmp_2; } + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1068; s.pc = 8; return s.tmp_2; } } - case 3: + case 8: r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_0).fields["options"] = (s.tmp_1); - r0 = (s.arg0).fields["selection"] = (0); - s.i___45773 = (0); + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1); + s.row___10700 = (r0); + r0 = s.arg0.fields["scrollRow"]; + s.tmp_1 = r0; + r0 = (s.row___10700 === 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_1 = r0 = s.i___45773; - r0 = s.arg0.fields["options"]; - s.tmp_3 = r0; - r0 = pxsim_Array__length(s.tmp_3); + r0 = (s.row___10700 - 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 = 2; continue; } - r0 = s.arg0.fields["options"]; + 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_Array__getAt(s.tmp_4, s.i___45773); - s.current___45772 = (r0); - s.tmp_0 = scene_systemMenu_MenuOption_show__P39634_mk(s); - s.tmp_0.arg0 = s.current___45772; - s.callLocIdx = 1000; s.pc = 4; return s.tmp_0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + { step = 7; continue; } + case 3: case 4: - r0 = s.retval; - s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P39637_mk(s); - s.tmp_0.arg0 = s.current___45772; - r0 = s.arg0.fields["theme"]; - s.tmp_0.arg1 = r0; - s.callLocIdx = 1001; s.pc = 5; return s.tmp_0; + r0 = s.arg0.fields["scrollRow"]; + s.tmp_6 = r0; + r0 = (s.row___10700 > 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: - r0 = s.retval; - s.tmp_0 = scene_systemMenu_MenuOption_position__P39635_mk(s); - s.tmp_0.arg0 = s.current___45772; - s.tmp_2 = if_padding_1_mk(s); + 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_2.arg0 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "padding"); + 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_2.fn = s.tmp_2.arg0.vtable.iface["padding"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["padding"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 1002; s.pc = 7; return s.tmp_2; } + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardSpacing"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardSpacing"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1069; s.pc = 9; return s.tmp_5; } } - case 7: + case 9: r0 = s.retval; - s.tmp_1 = r0; - s.tmp_5 = r0 = s.i___45773; - s.tmp_7 = if_cardsPerRow_1_mk(s); + 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, "cardsPerRow"); + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardWidth"); } 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"]; } + 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 = 1003; s.pc = 8; return s.tmp_7; } - } - case 8: - r0 = s.retval; - s.tmp_6 = r0; - r0 = (s.tmp_5 % s.tmp_6); - s.tmp_4 = r0; - s.tmp_10 = if_cardWidth_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_10.arg0 = r0; - if (!s.tmp_10.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, "cardWidth"); - } else { - s.tmp_10.fn = s.tmp_10.arg0.vtable.iface["cardWidth"]; - if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields["cardWidth"]; } - else if (!s.tmp_10.fn.isGetter) { s.retval = bind(s.tmp_10); } - else { s.callLocIdx = 1004; s.pc = 9; return s.tmp_10; } - } - case 9: - r0 = s.retval; - s.tmp_9 = r0; - s.tmp_12 = if_cardSpacing_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_12.arg0 = r0; - if (!s.tmp_12.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "cardSpacing"); - } else { - s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["cardSpacing"]; - if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields["cardSpacing"]; } - else if (!s.tmp_12.fn.isGetter) { s.retval = bind(s.tmp_12); } - else { s.callLocIdx = 1005; s.pc = 10; return s.tmp_12; } + else { s.callLocIdx = 1070; s.pc = 10; return s.tmp_7; } } 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_6 = r0; + r0 = (s.tmp_4 + s.tmp_6); s.tmp_3 = r0; - r0 = (s.tmp_1 + s.tmp_3); - s.tmp_0.arg1 = r0; - s.tmp_14 = if_cardsTop_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_14.arg0 = r0; - if (!s.tmp_14.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "cardsTop"); - } else { - s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["cardsTop"]; - if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["cardsTop"]; } - else if (!s.tmp_14.fn.isGetter) { s.retval = bind(s.tmp_14); } - else { s.callLocIdx = 1006; s.pc = 11; return s.tmp_14; } - } - case 11: - r0 = s.retval; - s.tmp_13 = r0; - s.tmp_17 = r0 = s.i___45773; - s.tmp_19 = if_cardsPerRow_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_19.arg0 = r0; - if (!s.tmp_19.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, "cardsPerRow"); - } else { - s.tmp_19.fn = s.tmp_19.arg0.vtable.iface["cardsPerRow"]; - if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields["cardsPerRow"]; } - else if (!s.tmp_19.fn.isGetter) { s.retval = bind(s.tmp_19); } - else { s.callLocIdx = 1007; s.pc = 12; return s.tmp_19; } - } - case 12: - r0 = s.retval; - s.tmp_18 = r0; - r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18); - s.tmp_16 = r0; - s.tmp_22 = if_cardWidth_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_22.arg0 = r0; - if (!s.tmp_22.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, "cardWidth"); - } else { - s.tmp_22.fn = s.tmp_22.arg0.vtable.iface["cardWidth"]; - if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields["cardWidth"]; } - else if (!s.tmp_22.fn.isGetter) { s.retval = bind(s.tmp_22); } - else { s.callLocIdx = 1008; s.pc = 13; return s.tmp_22; } - } - case 13: - r0 = s.retval; - s.tmp_21 = r0; - s.tmp_24 = if_cardSpacing_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_24.arg0 = r0; - if (!s.tmp_24.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, "cardSpacing"); - } else { - s.tmp_24.fn = s.tmp_24.arg0.vtable.iface["cardSpacing"]; - if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields["cardSpacing"]; } - else if (!s.tmp_24.fn.isGetter) { s.retval = bind(s.tmp_24); } - else { s.callLocIdx = 1009; s.pc = 14; return s.tmp_24; } - } - case 14: - r0 = s.retval; - s.tmp_23 = r0; - r0 = (s.tmp_21 + s.tmp_23); - s.tmp_20 = r0; - r0 = (s.tmp_16 * s.tmp_20); - s.tmp_15 = r0; - r0 = (s.tmp_13 + s.tmp_15); - s.tmp_0.arg2 = r0; - s.callLocIdx = 1010; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - r0 = (s.i___45773 + 1); - s.i___45773 = (r0); - { step = 1; continue; } - case 2: - s.tmp_0 = controller__setUserEventsEnabled__P38595_mk(s); - s.tmp_0.arg0 = false; - s.callLocIdx = 1011; s.pc = 15; return s.tmp_0; - case 15: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45841); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = controller_Button_onEvent__P38564_mk(s); - s.tmp_1.arg0 = globals.A___38417; - s.tmp_1.arg1 = 2053; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 1013; s.pc = 16; return s.tmp_1; - case 16: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45862); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = controller_Button_onEvent__P38564_mk(s); - s.tmp_1.arg0 = globals.A___38417; - s.tmp_1.arg1 = 2052; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 1015; s.pc = 17; return s.tmp_1; - case 17: - r0 = s.retval; - s.tmp_0 = controller_Button_onEvent__P38564_mk(s); - s.tmp_0.arg0 = globals.B___38419; - s.tmp_0.arg1 = 2053; - s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P45892; - s.callLocIdx = 1017; s.pc = 18; return s.tmp_0; - case 18: - r0 = s.retval; - s.tmp_0 = controller_Button_onEvent__P38564_mk(s); - s.tmp_0.arg0 = globals.menu___38429; - s.tmp_0.arg1 = 2053; - s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P45897; - s.callLocIdx = 1019; s.pc = 19; return s.tmp_0; - case 19: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45902); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = controller_Button_onEvent__P38564_mk(s); - s.tmp_1.arg0 = globals.up___38423; - s.tmp_1.arg1 = 2053; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 1023; s.pc = 20; return s.tmp_1; - case 20: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45914); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = controller_Button_onEvent__P38564_mk(s); - s.tmp_1.arg0 = globals.left___38421; - s.tmp_1.arg1 = 2053; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 1026; s.pc = 21; return s.tmp_1; - case 21: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45923); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = controller_Button_onEvent__P38564_mk(s); - s.tmp_1.arg0 = globals.down___38427; - s.tmp_1.arg1 = 2053; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 1030; s.pc = 22; return s.tmp_1; - case 22: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45939); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = controller_Button_onEvent__P38564_mk(s); - s.tmp_1.arg0 = globals.right___38425; - s.tmp_1.arg1 = 2053; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 1033; s.pc = 23; return s.tmp_1; - case 23: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P45951); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = game_onShade__P39361_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.callLocIdx = 1036; s.pc = 24; return s.tmp_1; - case 24: - r0 = s.retval; - s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P39645_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 1037; s.pc = 25; return s.tmp_0; - case 25: - r0 = s.retval; + r0 = (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_show__P39643.info = {"start":3296,"length":2241,"line":123,"column":8,"endLine":181,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]} +scene_systemMenu_PauseMenu_updateScrollTarget__P5178.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_show__P39643_mk(s) { +function scene_systemMenu_PauseMenu_updateScrollTarget__P5178_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show__P39643, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P5178, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -19392,23 +19084,7 @@ function scene_systemMenu_PauseMenu_show__P39643_mk(s) { 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___45772: undefined, - i___45773: undefined, + row___10700: undefined, arg0: undefined, } } @@ -19416,7 +19092,7 @@ function scene_systemMenu_PauseMenu_show__P39643_mk(s) { -function scene_systemMenu_PauseMenu_show_inline__P45841(s) { +function scene_systemMenu_PauseMenu_onUpdate__P3097(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19426,56 +19102,160 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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.t___10466 = undefined; + s.i___10470 = undefined; + s.dt___10499 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_VT)) failedCast(r0); + r0 = pxsim.control.millis(); s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + r0 = (s.tmp_0 / 250); + s.t___10466 = (r0); + s.i___10470 = (0); case 1: - r0 = s.caps[0].fields["options"]; + s.tmp_1 = r0 = s.i___10470; + 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__P3090_mk(s); + r0 = s.arg0.fields["options"]; s.tmp_5 = r0; - r0 = s.caps[0].fields["selection"]; + r0 = pxsim_Array__getAt(s.tmp_5, s.i___10470); + s.tmp_4.arg0 = r0; + s.tmp_8 = r0 = s.t___10466; + s.tmp_11 = r0 = s.i___10470; + s.tmp_13 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_13.arg0 = r0; + if (!s.tmp_13.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_13.arg0, "cardsPerRow"); + } else { + s.tmp_13.fn = s.tmp_13.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_13.fn.isGetter) { s.retval = bind(s.tmp_13); } + else { s.callLocIdx = 1038; s.pc = 11; return s.tmp_13; } + } + case 11: + r0 = s.retval; + s.tmp_12 = r0; + r0 = (s.tmp_11 % s.tmp_12); + s.tmp_10 = r0; + r0 = (s.tmp_10 * 1.5707963267948966); + s.tmp_9 = r0; + r0 = (s.tmp_8 - s.tmp_9); + s.tmp_7 = r0; + r0 = pxsim.Math_.sin(s.tmp_7); s.tmp_6 = r0; - r0 = 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); + r0 = (2 * s.tmp_6); + s.tmp_4.arg1 = r0; + s.callLocIdx = 1039; s.pc = 10; return s.tmp_4; + case 10: + r0 = s.retval; + r0 = (s.i___10470 + 1); + s.i___10470 = (r0); + { step = 1; continue; } 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__P39638_mk(s); - r0 = s.caps[0].fields["options"]; - s.tmp_9 = r0; - r0 = s.caps[0].fields["selection"]; - s.tmp_10 = r0; - r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10); - s.tmp_8.arg0 = r0; - s.tmp_8.arg1 = 1; - s.callLocIdx = 1012; s.pc = 6; return s.tmp_8; - case 6: + s.tmp_1 = game_currentScene__P2998_mk(s); + s.callLocIdx = 1040; s.pc = 12; return s.tmp_1; + case 12: r0 = s.retval; - case 5: - r0 = undefined; - return leave(s, r0) + 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___10499 = (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___10499 * 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___10499 * 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 = 1042; s.pc = 13; return s.tmp_2; + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 < 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.arg0.fields["scrollTarget"]; + s.tmp_5 = r0; + r0 = (s.arg0).fields["scrollOffset"] = (s.tmp_5); + case 7: + case 8: + s.tmp_0 = scene_Camera_offsetY__P2788_mk(s); + s.tmp_1 = game_currentScene__P2998_mk(s); + s.callLocIdx = 1043; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + r0 = r0.fields["camera"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["scrollOffset"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1044; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + case 9: + r0 = undefined; + return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45841.info = {"start":4025,"length":170,"line":140,"column":50,"endLine":143,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +scene_systemMenu_PauseMenu_onUpdate__P3097.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_show_inline__P45841_mk(s) { +function scene_systemMenu_PauseMenu_onUpdate__P3097_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45841, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P3097, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -19488,13 +19268,20 @@ function scene_systemMenu_PauseMenu_show_inline__P45841_mk(s) { tmp_8: undefined, tmp_9: undefined, tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + t___10466: undefined, + i___10470: undefined, + dt___10499: undefined, + arg0: undefined, } } -function scene_systemMenu_PauseMenu_show_inline__P45862(s) { +function scene_systemMenu_MenuOption_setOffset__P3090(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19504,83 +19291,58 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = s.caps[0].fields["options"]; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); + 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__C3086_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P2403_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["top"]; 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; } + r0 = (s.tmp_1 + s.arg1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 981; s.pc = 1; return s.tmp_0; case 1: - r0 = s.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; } + r0 = s.retval; + s.tmp_0 = Sprite_y__P2356_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P2355_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 982; s.pc = 3; return s.tmp_1; case 3: - case 4: - s.tmp_8 = scene_systemMenu_MenuOption_setState__P39638_mk(s); - r0 = s.caps[0].fields["options"]; - s.tmp_9 = r0; - r0 = s.caps[0].fields["selection"]; - s.tmp_10 = r0; - r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10); - s.tmp_8.arg0 = r0; - s.tmp_8.arg1 = 0; - s.callLocIdx = 1014; s.pc = 6; return s.tmp_8; - case 6: r0 = s.retval; - r0 = s.caps[0].fields["options"]; - s.tmp_1 = r0; - r0 = s.caps[0].fields["selection"]; - s.tmp_2 = r0; - r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2); - r0 = r0.fields["action"]; - s.tmp_0 = r0; - r0 = pxsim.control.runInParallel(s.tmp_0); - case 5: + s.tmp_0.arg1 = r0; + s.callLocIdx = 983; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45862.info = {"start":4247,"length":247,"line":145,"column":48,"endLine":149,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +scene_systemMenu_MenuOption_setOffset__P3090.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_PauseMenu_show_inline__P45862_mk(s) { +function scene_systemMenu_MenuOption_setOffset__P3090_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45862, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_setOffset__P3090, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, + arg1: undefined, } } -function scene_systemMenu_PauseMenu_show_inline__P45892(s) { +function Sprite_top__P2403(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19590,29 +19352,62 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_closeMenu__P39659_mk(s); - s.callLocIdx = 1016; s.pc = 1; return s.tmp_0; + s.physics___10577 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 360; s.pc = 1; return s.tmp_0; case 1: + r0 = s.retval; + r0 = r0.fields["physicsEngine"]; + s.physics___10577 = (r0); + s.tmp_0 = PhysicsEngine__C2510_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___10577; + 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__C2510_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() } } } -scene_systemMenu_PauseMenu_show_inline__P45892.info = {"start":4548,"length":50,"line":151,"column":50,"endLine":153,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +Sprite_top__P2403.info = {"start":11687,"length":256,"line":421,"column":4,"endLine":431,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this","value"]} -function scene_systemMenu_PauseMenu_show_inline__P45892_mk(s) { +function Sprite_top__P2403_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45892, depth: s.depth + 1, + parent: s, fn: Sprite_top__P2403, depth: s.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___10577: undefined, + arg0: undefined, + arg1: undefined, } } -function scene_systemMenu_PauseMenu_show_inline__P45897(s) { +function PhysicsEngine_moveSprite__P2514(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19622,29 +19417,37 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_closeMenu__P39659_mk(s); - s.callLocIdx = 1018; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; + 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__C2510_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45897.info = {"start":4655,"length":50,"line":155,"column":53,"endLine":157,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +PhysicsEngine_moveSprite__P2514.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 scene_systemMenu_PauseMenu_show_inline__P45897_mk(s) { +function PhysicsEngine_moveSprite__P2514_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45897, depth: s.depth + 1, + parent: s, fn: PhysicsEngine_moveSprite__P2514, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function scene_systemMenu_PauseMenu_show_inline__P45902(s) { +function Sprite_top__P2402(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19654,58 +19457,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P39645_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_1 = Math_max__P37596_mk(s); - s.tmp_1.arg0 = 0; - r0 = s.caps[0].fields["selection"]; - s.tmp_2 = r0; - s.tmp_4 = if_cardsPerRow_1_mk(s); - r0 = s.caps[0].fields["theme"]; - s.tmp_4.arg0 = r0; - if (!s.tmp_4.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "cardsPerRow"); - } else { - s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["cardsPerRow"]; - if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["cardsPerRow"]; } - else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } - else { s.callLocIdx = 1020; s.pc = 3; return s.tmp_4; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; } - case 3: - r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_2 - s.tmp_3); - s.tmp_1.arg1 = r0; - s.callLocIdx = 1021; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 1022; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45902.info = {"start":4760,"length":110,"line":159,"column":51,"endLine":161,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +Sprite_top__P2402.info = {"start":11544,"length":53,"line":416,"column":4,"endLine":418,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this"]} +Sprite_top__P2402.isGetter = true; -function scene_systemMenu_PauseMenu_show_inline__P45902_mk(s) { +function Sprite_top__P2402_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45902, depth: s.depth + 1, + parent: s, fn: Sprite_top__P2402, depth: s.depth + 1, pc: 0, retval: 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 scene_systemMenu_PauseMenu_show_inline__P45914(s) { +function Sprite_y__P2356(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19715,42 +19495,54 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P39645_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_1 = Math_max__P37596_mk(s); - s.tmp_1.arg0 = 0; - r0 = s.caps[0].fields["selection"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 - 1); - s.tmp_1.arg1 = r0; - s.callLocIdx = 1024; s.pc = 2; return s.tmp_1; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P2403_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_4 = Sprite_height__P2397_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 311; 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 = 1025; s.pc = 1; return s.tmp_0; + s.callLocIdx = 312; 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__P45914.info = {"start":4927,"length":89,"line":163,"column":53,"endLine":165,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +Sprite_y__P2356.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 scene_systemMenu_PauseMenu_show_inline__P45914_mk(s) { +function Sprite_y__P2356_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45914, depth: s.depth + 1, + parent: s, fn: Sprite_y__P2356, depth: s.depth + 1, pc: 0, retval: 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_PauseMenu_show_inline__P45923(s) { +function Sprite_height__P2397(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19760,65 +19552,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P39645_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_1 = Math_min__P37597_mk(s); - r0 = s.caps[0].fields["options"]; - s.tmp_3 = r0; - r0 = pxsim_Array__length(s.tmp_3); - s.tmp_2 = r0; - r0 = (s.tmp_2 - 1); - s.tmp_1.arg0 = r0; - r0 = s.caps[0].fields["selection"]; - s.tmp_4 = r0; - s.tmp_6 = if_cardsPerRow_1_mk(s); - r0 = s.caps[0].fields["theme"]; - s.tmp_6.arg0 = r0; - if (!s.tmp_6.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "cardsPerRow"); - } else { - s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["cardsPerRow"]; - if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["cardsPerRow"]; } - else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } - else { s.callLocIdx = 1027; s.pc = 3; return s.tmp_6; } + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; } - case 3: - r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_4 + s.tmp_5); - s.tmp_1.arg1 = r0; - s.callLocIdx = 1028; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 1029; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_height"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45923.info = {"start":5073,"length":132,"line":167,"column":53,"endLine":169,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +Sprite_height__P2397.info = {"start":10541,"length":61,"line":380,"column":4,"endLine":382,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"height","argumentNames":["this"]} +Sprite_height__P2397.isGetter = true; -function scene_systemMenu_PauseMenu_show_inline__P45923_mk(s) { +function Sprite_height__P2397_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45923, depth: s.depth + 1, + parent: s, fn: Sprite_height__P2397, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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_systemMenu_PauseMenu_show_inline__P45939(s) { +function Math_abs__P128(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19828,49 +19590,42 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P39645_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_1 = Math_min__P37597_mk(s); - r0 = s.caps[0].fields["options"]; - s.tmp_3 = r0; - r0 = pxsim_Array__length(s.tmp_3); - s.tmp_2 = r0; - r0 = (s.tmp_2 - 1); - s.tmp_1.arg0 = r0; - r0 = s.caps[0].fields["selection"]; - s.tmp_4 = r0; - r0 = (s.tmp_4 + 1); - s.tmp_1.arg1 = r0; - s.callLocIdx = 1031; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 1032; s.pc = 1; return s.tmp_0; + 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.retval; - r0 = undefined; + r0 = s.arg0; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45939.info = {"start":5263,"length":111,"line":171,"column":54,"endLine":173,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +Math_abs__P128.info = {"start":16120,"length":77,"line":539,"column":4,"endLine":541,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"abs","argumentNames":["x"]} -function scene_systemMenu_PauseMenu_show_inline__P45939_mk(s) { +function Math_abs__P128_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45939, depth: s.depth + 1, + 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, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, + arg0: undefined, } } -function scene_systemMenu_PauseMenu_show_inline__P45951(s) { +function scene_systemMenu_MenuOption_setState__P3092(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19880,35 +19635,51 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P39644_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.callLocIdx = 1034; s.pc = 1; return s.tmp_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__C3086_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: - r0 = s.retval; - s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P39646_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.callLocIdx = 1035; s.pc = 2; return s.tmp_0; case 2: + r0 = (s.arg0).fields["state"] = (s.arg1); + s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P5177_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 985; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; + case 3: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_show_inline__P45951.info = {"start":5403,"length":87,"line":175,"column":25,"endLine":178,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} +scene_systemMenu_MenuOption_setState__P3092.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_PauseMenu_show_inline__P45951_mk(s) { +function scene_systemMenu_MenuOption_setState__P3092_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P45951, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_setState__P3092, 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_PauseMenu_drawText__P39646(s) { +function scene_systemMenu_MenuOption_updateCard__P5177(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -19923,8 +19694,8 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C39642_VT)) failedCast(r0); - r0 = s.arg0.fields["options"]; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C3086_VT)) failedCast(r0); + r0 = s.arg0.fields["theme"]; s.tmp_2 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_2); s.tmp_1 = r0; @@ -19932,263 +19703,122 @@ switch (step) { s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - { step = 3; continue; } + { step = 7; continue; } case 1: case 2: - s.tmp_3 = helpers_imageFillRect__P38261_mk(s); - s.tmp_3.arg0 = globals.screen___38324; - s.tmp_3.arg1 = 0; - s.tmp_3.arg2 = 0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.tmp_3.arg3 = r0; - s.tmp_5 = if_cardsTop_1_mk(s); + 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__P2390_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, "cardsTop"); + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "basicCard"); } 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"]; } + 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 = 1048; s.pc = 5; return s.tmp_5; } + else { s.callLocIdx = 988; s.pc = 9; return s.tmp_5; } } - case 5: + case 9: r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_4 - 2); - s.tmp_3.arg4 = r0; - s.tmp_3.arg5 = 15; - s.callLocIdx = 1049; s.pc = 4; return s.tmp_3; - case 4: + s.tmp_4.arg1 = r0; + s.callLocIdx = 989; s.pc = 8; return s.tmp_4; + case 8: r0 = s.retval; - s.tmp_0 = helpers_imagePrintCenter__P38286_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_1 = if_headerText_1_mk(s); + { step = 6; continue; } + case 4: + s.tmp_0 = Sprite_setImage__P2390_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, "headerText"); + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "selectedCard"); } 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"]; } + 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 = 1050; s.pc = 7; return s.tmp_1; } + else { s.callLocIdx = 990; s.pc = 11; return s.tmp_1; } } - case 7: + case 11: r0 = s.retval; s.tmp_0.arg1 = r0; - s.tmp_0.arg2 = 2; - s.tmp_0.arg3 = 1; - s.tmp_2 = if_headerFont_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_2.arg0 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "headerFont"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["headerFont"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["headerFont"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 1051; s.pc = 8; return s.tmp_2; } - } - case 8: - r0 = s.retval; - s.tmp_0.arg4 = r0; - s.callLocIdx = 1052; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - s.tmp_0 = helpers_imageFillRect__P38261_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_0.arg1 = 0; - s.tmp_2 = if_infoTop_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_2.arg0 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 1053; s.pc = 10; return s.tmp_2; } - } + s.callLocIdx = 991; s.pc = 10; return s.tmp_0; 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___38324); - s.tmp_0.arg3 = r0; - r0 = pxsim_ImageMethods.height(globals.screen___38324); - s.tmp_4 = r0; - s.tmp_6 = if_infoTop_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_6.arg0 = r0; - if (!s.tmp_6.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoTop"); - } else { - s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoTop"]; - if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoTop"]; } - else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } - else { s.callLocIdx = 1054; s.pc = 11; return s.tmp_6; } - } - case 11: - r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_4 - s.tmp_5); - s.tmp_3 = r0; - r0 = (s.tmp_3 + 6); - s.tmp_0.arg4 = r0; - s.tmp_0.arg5 = 15; - s.callLocIdx = 1055; s.pc = 9; return s.tmp_0; - case 9: - r0 = s.retval; - s.tmp_0 = helpers_imageFillRect__P38261_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_1 = if_padding_1_mk(s); + { step = 6; continue; } + case 5: + s.tmp_0 = Sprite_setImage__P2390_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, "padding"); + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "activeCard"); } 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"]; } + 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 = 1056; s.pc = 13; return s.tmp_1; } + else { s.callLocIdx = 992; s.pc = 13; return s.tmp_1; } } case 13: r0 = s.retval; s.tmp_0.arg1 = r0; - s.tmp_2 = if_infoTop_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_2.arg0 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 1057; s.pc = 14; return s.tmp_2; } - } - case 14: - r0 = s.retval; - s.tmp_0.arg2 = r0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.tmp_3 = r0; - s.tmp_6 = if_padding_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_6.arg0 = r0; - if (!s.tmp_6.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "padding"); - } else { - s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["padding"]; - if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["padding"]; } - else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } - else { s.callLocIdx = 1058; s.pc = 15; return s.tmp_6; } - } - case 15: - r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_5 << 1); - s.tmp_4 = r0; - r0 = (s.tmp_3 - s.tmp_4); - s.tmp_0.arg3 = r0; - s.tmp_8 = if_charHeight_1_mk(s); - s.tmp_9 = if_infoFont_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_9.arg0 = r0; - if (!s.tmp_9.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "infoFont"); - } else { - s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["infoFont"]; - if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["infoFont"]; } - else if (!s.tmp_9.fn.isGetter) { s.retval = bind(s.tmp_9); } - else { s.callLocIdx = 1059; s.pc = 17; return s.tmp_9; } - } - case 17: - r0 = s.retval; - s.tmp_8.arg0 = r0; - if (!s.tmp_8.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight"); - } else { - s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"]; - if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; } - else if (!s.tmp_8.fn.isGetter) { s.retval = bind(s.tmp_8); } - else { s.callLocIdx = 1060; s.pc = 16; return s.tmp_8; } - } - case 16: - r0 = s.retval; - s.tmp_7 = r0; - r0 = (s.tmp_7 + 1); - s.tmp_0.arg4 = r0; - s.tmp_0.arg5 = 1; - s.callLocIdx = 1061; s.pc = 12; return s.tmp_0; + s.callLocIdx = 993; s.pc = 12; return s.tmp_0; case 12: r0 = s.retval; - s.tmp_0 = helpers_imagePrintCenter__P38286_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - 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); + case 6: + s.tmp_0 = Sprite_x__P2354_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_x__P2353_mk(s); + r0 = s.arg0.fields["card"]; s.tmp_1.arg0 = r0; - if (!s.tmp_1.arg0.vtable.iface) { - setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "getText"), 1); - s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; - } else { - s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["getText"]; - if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["getText"], 1); s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } - else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 1062; s.pc = 19; return s.tmp_1;; } - else { s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } - } - case 19: + s.callLocIdx = 994; s.pc = 15; return s.tmp_1; + case 15: r0 = s.retval; s.tmp_0.arg1 = r0; - s.tmp_5 = if_infoTop_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_5.arg0 = r0; - if (!s.tmp_5.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "infoTop"); - } else { - s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["infoTop"]; - if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["infoTop"]; } - else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } - else { s.callLocIdx = 1063; s.pc = 20; return s.tmp_5; } - } - case 20: + s.callLocIdx = 995; s.pc = 14; return s.tmp_0; + case 14: r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_4 + 1); - s.tmp_0.arg2 = r0; - s.tmp_0.arg3 = 15; - s.tmp_6 = if_infoFont_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_6.arg0 = r0; - if (!s.tmp_6.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoFont"); - } else { - s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoFont"]; - if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoFont"]; } - else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } - else { s.callLocIdx = 1064; s.pc = 21; return s.tmp_6; } - } - case 21: + s.tmp_0 = Sprite_y__P2356_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P2355_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 996; s.pc = 17; return s.tmp_1; + case 17: r0 = s.retval; - s.tmp_0.arg4 = r0; - s.callLocIdx = 1065; s.pc = 18; return s.tmp_0; - case 18: + s.tmp_0.arg1 = r0; + s.callLocIdx = 997; s.pc = 16; return s.tmp_0; + case 16: r0 = s.retval; - case 3: + case 7: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_drawText__P39646.info = {"start":6927,"length":795,"line":224,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"drawText","argumentNames":["this"]} +scene_systemMenu_MenuOption_updateCard__P5177.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_PauseMenu_drawText__P39646_mk(s) { +function scene_systemMenu_MenuOption_updateCard__P5177_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_drawText__P39646, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_updateCard__P5177, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -20196,10 +19826,6 @@ function scene_systemMenu_PauseMenu_drawText__P39646_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, arg0: undefined, } } @@ -20207,7 +19833,7 @@ function scene_systemMenu_PauseMenu_drawText__P39646_mk(s) { -function helpers_imagePrintCenter__P38286(s) { +function Sprite_x__P2354(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20217,92 +19843,54 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.w___46043 = undefined; - s.x___46049 = 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__P38279_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 95; s.pc = 3; return s.tmp_2; - case 3: - r0 = s.retval; - s.arg4 = (r0); - case 1: + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P2399_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_4 = Sprite_width__P2396_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 306; s.pc = 2; return s.tmp_4; 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 = 96; 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___46043 = (r0); - r0 = pxsim_ImageMethods.width(s.arg0); - s.tmp_1 = r0; - r0 = (s.tmp_1 - s.w___46043); - s.tmp_0 = r0; - r0 = (s.tmp_0 / 2); - s.x___46049 = (r0); - s.tmp_0 = helpers_imagePrint__P38287_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.x___46049; - 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 = 97; s.pc = 5; return s.tmp_0; - case 5: + 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 = 307; s.pc = 1; return s.tmp_0; + case 1: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_imagePrintCenter__P38286.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"]} +Sprite_x__P2354.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 helpers_imagePrintCenter__P38286_mk(s) { +function Sprite_x__P2354_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imagePrintCenter__P38286, depth: s.depth + 1, + parent: s, fn: Sprite_x__P2354, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - w___46043: undefined, - x___46049: undefined, + tmp_3: undefined, + tmp_4: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, } } -function scene_systemMenu_PauseMenu_setSelection__P39645(s) { +function Sprite_left__P2399(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20312,110 +19900,53 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.physics___11817 = undefined; 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__C39642_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; } + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 352; s.pc = 1; return s.tmp_0; 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__P39638_mk(s); - r0 = s.arg0.fields["options"]; - s.tmp_7 = r0; - r0 = s.arg0.fields["selection"]; - s.tmp_8 = r0; - r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8); - s.tmp_6.arg0 = r0; - s.tmp_6.arg1 = 2; - s.callLocIdx = 1045; s.pc = 10; return s.tmp_6; - case 10: r0 = s.retval; - case 3: - case 4: - r0 = (s.arg0).fields["selection"] = (s.arg1); - r0 = s.arg0.fields["options"]; - s.tmp_1 = r0; - r0 = s.arg0.fields["selection"]; + r0 = r0.fields["physicsEngine"]; + s.physics___11817 = (r0); + s.tmp_0 = PhysicsEngine__C2510_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___11817; + s.tmp_0.arg1 = s.arg0; + r0 = (s.arg1 * 256); 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__C38558_v0_1_mk(s); - s.tmp_4.arg0 = globals.A___38417; - if (!checkSubtype(s.tmp_4.arg0, controller_Button__C38558_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; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = s.arg0.fields["_x"]; 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__P39638_mk(s); - r0 = s.arg0.fields["options"]; - s.tmp_7 = r0; - r0 = s.arg0.fields["selection"]; - s.tmp_8 = r0; - r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8); - s.tmp_6.arg0 = r0; - s.tmp_6.arg1 = s.tmp_5; - s.callLocIdx = 1046; s.pc = 12; return s.tmp_6; - case 12: - r0 = s.retval; - case 7: - case 8: - s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P39648_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1047; s.pc = 13; return s.tmp_0; - case 13: + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2510_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; - case 9: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_setSelection__P39645.info = {"start":6436,"length":481,"line":208,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setSelection","argumentNames":["this","selection"]} +Sprite_left__P2399.info = {"start":10853,"length":257,"line":391,"column":4,"endLine":401,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this","value"]} -function scene_systemMenu_PauseMenu_setSelection__P39645_mk(s) { +function Sprite_left__P2399_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P39645, depth: s.depth + 1, + parent: s, fn: Sprite_left__P2399, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, + physics___11817: undefined, arg0: undefined, arg1: undefined, } } @@ -20424,7 +19955,7 @@ function scene_systemMenu_PauseMenu_setSelection__P39645_mk(s) { -function scene_systemMenu_PauseMenu_updateScrollTarget__P39648(s) { +function Sprite_left__P2398(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20434,141 +19965,197 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.row___46300 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C39642_VT)) failedCast(r0); - r0 = s.arg0.fields["selection"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_x"]; s.tmp_0 = r0; - s.tmp_2 = if_cardsPerRow_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_2.arg0 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "cardsPerRow"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["cardsPerRow"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["cardsPerRow"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 1068; s.pc = 8; return s.tmp_2; } + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_left__P2398.info = {"start":10709,"length":53,"line":386,"column":4,"endLine":388,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this"]} +Sprite_left__P2398.isGetter = true; + +function Sprite_left__P2398_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_left__P2398, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_width__P2396(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; } - case 8: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1); - s.row___46300 = (r0); - r0 = s.arg0.fields["scrollRow"]; - s.tmp_1 = r0; - r0 = (s.row___46300 === s.tmp_1); + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_width"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_width__P2396.info = {"start":10374,"length":59,"line":375,"column":4,"endLine":377,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"width","argumentNames":["this"]} +Sprite_width__P2396.isGetter = true; + +function Sprite_width__P2396_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_width__P2396, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_setTheme__P3091(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C3086_VT)) failedCast(r0); + r0 = (s.arg0).fields["theme"] = (s.arg1); + s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P5177_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 984; s.pc = 1; return s.tmp_0; case 1: - r0 = (s.row___46300 - 1); - s.tmp_2 = r0; - r0 = s.arg0.fields["scrollRow"]; - s.tmp_3 = r0; - r0 = (s.tmp_2 === s.tmp_3); + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_setTheme__P3091.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__P3091_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setTheme__P3091, 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__P3089(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__C3086_VT)) failedCast(r0); + r0 = (s.arg0).fields["top"] = (s.arg2); + s.tmp_0 = Sprite_left__P2399_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 975; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = Sprite_top__P2403_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 976; s.pc = 2; return s.tmp_0; case 2: - // 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: + r0 = s.retval; + s.tmp_0 = Sprite_x__P2354_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_x__P2353_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 977; s.pc = 4; return s.tmp_1; case 4: - r0 = s.arg0.fields["scrollRow"]; - s.tmp_6 = r0; - r0 = (s.row___46300 > 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); + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 978; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_y__P2356_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P2355_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 979; s.pc = 6; return s.tmp_1; case 6: - s.tmp_0 = r0 = s.arg0; - r0 = s.arg0.fields["scrollRow"]; - s.tmp_2 = r0; - s.tmp_5 = if_cardSpacing_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_5.arg0 = r0; - if (!s.tmp_5.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardSpacing"); - } else { - s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardSpacing"]; - if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardSpacing"]; } - else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } - else { s.callLocIdx = 1069; s.pc = 9; return s.tmp_5; } - } - case 9: r0 = s.retval; - s.tmp_4 = r0; - s.tmp_7 = if_cardWidth_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_7.arg0 = r0; - if (!s.tmp_7.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardWidth"); - } else { - s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardWidth"]; - if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardWidth"]; } - else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } - else { s.callLocIdx = 1070; s.pc = 10; return s.tmp_7; } - } - case 10: + s.tmp_0.arg1 = r0; + s.callLocIdx = 980; s.pc = 5; return s.tmp_0; + case 5: 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__P39648.info = {"start":7907,"length":458,"line":250,"column":8,"endLine":260,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateScrollTarget","argumentNames":["this"]} +scene_systemMenu_MenuOption_position__P3089.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_PauseMenu_updateScrollTarget__P39648_mk(s) { +function scene_systemMenu_MenuOption_position__P3089_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P39648, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_position__P3089, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___46300: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function scene_systemMenu_PauseMenu_onUpdate__P39644(s) { +function scene_systemMenu_MenuOption_show__P3088(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20578,160 +20165,93 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.t___46065 = undefined; - s.i___46069 = undefined; - s.dt___46098 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C39642_VT)) failedCast(r0); - r0 = pxsim.control.millis(); - s.tmp_0 = r0; - r0 = (s.tmp_0 / 250); - s.t___46065 = (r0); - s.i___46069 = (0); - case 1: - s.tmp_1 = r0 = s.i___46069; - 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); + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C3086_VT)) failedCast(r0); + r0 = s.arg0.fields["theme"]; s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_4 = scene_systemMenu_MenuOption_setOffset__P39636_mk(s); - r0 = s.arg0.fields["options"]; - s.tmp_5 = r0; - r0 = pxsim_Array__getAt(s.tmp_5, s.i___46069); - s.tmp_4.arg0 = r0; - s.tmp_8 = r0 = s.t___46065; - s.tmp_11 = r0 = s.i___46069; - 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"); + 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_13.fn = s.tmp_13.arg0.vtable.iface["cardsPerRow"]; - if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields["cardsPerRow"]; } - else if (!s.tmp_13.fn.isGetter) { s.retval = bind(s.tmp_13); } - else { s.callLocIdx = 1038; s.pc = 11; return s.tmp_13; } + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["basicCard"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["basicCard"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 970; s.pc = 3; return s.tmp_1; } } - case 11: - r0 = s.retval; - s.tmp_12 = r0; - r0 = (s.tmp_11 % s.tmp_12); - s.tmp_10 = r0; - r0 = (s.tmp_10 * 1.5707963267948966); - s.tmp_9 = r0; - r0 = (s.tmp_8 - s.tmp_9); - s.tmp_7 = r0; - r0 = pxsim.Math_.sin(s.tmp_7); - s.tmp_6 = r0; - r0 = (2 * s.tmp_6); - s.tmp_4.arg1 = r0; - s.callLocIdx = 1039; s.pc = 10; return s.tmp_4; - case 10: + case 3: r0 = s.retval; - r0 = (s.i___46069 + 1); - s.i___46069 = (r0); - { step = 1; continue; } + { step = 2; continue; } + case 1: + r0 = globals.CARD_NORMAL___3110; case 2: - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 1040; s.pc = 12; return s.tmp_1; - case 12: - r0 = s.retval; - r0 = r0.fields["eventContext"]; - s.tmp_0 = r0; - r0 = s.tmp_0.fields["deltaTimeMillis"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 / 1000); - s.dt___46098 = (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___46098 * 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"]; + // jmp value (already in r0) 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___46098 * 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; } + s.tmp_5 = sprites_create__P2275_mk(s); + s.tmp_5.arg0 = s.tmp_2; + s.tmp_5.arg1 = undefined; + s.callLocIdx = 971; s.pc = 4; return s.tmp_5; case 4: - { step = 9; continue; } - case 5: - case 6: - s.tmp_2 = Math_abs__P37594_mk(s); - r0 = s.arg0.fields["scrollOffset"]; - s.tmp_3 = r0; - r0 = s.arg0.fields["scrollTarget"]; + r0 = s.retval; s.tmp_4 = r0; - r0 = (s.tmp_3 - s.tmp_4); + r0 = (s.tmp_3).fields["card"] = (s.tmp_4); + s.tmp_0 = if_z_2_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 1; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"]; + if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; } + else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) } + else { s.callLocIdx = 972; s.pc = 5; return s.tmp_0; } + } + case 5: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = sprites_create__P2275_mk(s); + r0 = s.arg0.fields["iconImage"]; s.tmp_2.arg0 = r0; - s.callLocIdx = 1042; s.pc = 13; return s.tmp_2; - case 13: + s.tmp_2.arg1 = undefined; + s.callLocIdx = 973; s.pc = 6; return s.tmp_2; + case 6: r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_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__P39141_mk(s); - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 1043; s.pc = 15; return s.tmp_1; - case 15: - r0 = s.retval; - r0 = r0.fields["camera"]; + 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; - r0 = s.arg0.fields["scrollOffset"]; - s.tmp_0.arg1 = r0; - s.callLocIdx = 1044; s.pc = 14; return s.tmp_0; - case 14: + s.tmp_0.arg1 = 2; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"]; + if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; } + else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) } + else { s.callLocIdx = 974; s.pc = 7; return s.tmp_0; } + } + case 7: r0 = s.retval; - case 9: + r0 = (s.arg0).fields["state"] = (2); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_PauseMenu_onUpdate__P39644.info = {"start":5547,"length":879,"line":183,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"onUpdate","argumentNames":["this"]} +scene_systemMenu_MenuOption_show__P3088.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_PauseMenu_onUpdate__P39644_mk(s) { +function scene_systemMenu_MenuOption_show__P3088_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P39644, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_MenuOption_show__P3088, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -20739,17 +20259,6 @@ function scene_systemMenu_PauseMenu_onUpdate__P39644_mk(s) { 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___46065: undefined, - i___46069: undefined, - dt___46098: undefined, arg0: undefined, } } @@ -20757,7 +20266,7 @@ function scene_systemMenu_PauseMenu_onUpdate__P39644_mk(s) { -function scene_systemMenu_MenuOption_setOffset__P39636(s) { +function sprites_create__P2275(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20767,49 +20276,78 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.scene___11897 = undefined; + s.sprite___11900 = undefined; 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__C39633_VT)) failedCast(r0); - s.tmp_0 = Sprite_top__P38705_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_0.arg0 = r0; - r0 = s.arg0.fields["top"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 + s.arg1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 981; s.pc = 1; return s.tmp_0; + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 297; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - s.tmp_0 = Sprite_y__P38667_mk(s); - r0 = s.arg0.fields["icon"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = Sprite_y__P38666_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_1.arg0 = r0; - s.callLocIdx = 982; s.pc = 3; return s.tmp_1; + s.scene___11897 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(Sprite__C2340_VT); + s.tmp_0 = r0; + s.tmp_1 = Sprite_constructor__P2387_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 298; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.sprite___11900 = (s.tmp_0); + s.tmp_0 = Sprite_setKind__P2407_mk(s); + s.tmp_0.arg0 = s.sprite___11900; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 299; s.pc = 3; return s.tmp_0; case 3: r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 983; s.pc = 2; return s.tmp_0; - case 2: + s.tmp_0 = PhysicsEngine__C2510_v0_2_mk(s); + r0 = s.scene___11897.fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.sprite___11900; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2510_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 = undefined; + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P11915); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + r0 = pxsim_pxtcore_mkAction(1, sprites_create_inline__P11921); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___11900); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + s.tmp_3 = helpers_arrayFilter__P110_mk(s); + r0 = s.scene___11897.fields["createdHandlers"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 300; 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 = 302; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + r0 = s.sprite___11900; return leave(s, r0) default: oops() } } } -scene_systemMenu_MenuOption_setOffset__P39636.info = {"start":1411,"length":123,"line":61,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setOffset","argumentNames":["this","offset"]} +sprites_create__P2275.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 scene_systemMenu_MenuOption_setOffset__P39636_mk(s) { +function sprites_create__P2275_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_setOffset__P39636, depth: s.depth + 1, + parent: s, fn: sprites_create__P2275, depth: s.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___11897: undefined, + sprite___11900: undefined, arg0: undefined, arg1: undefined, } } @@ -20818,7 +20356,7 @@ function scene_systemMenu_MenuOption_setOffset__P39636_mk(s) { -function Sprite_top__P38705(s) { +function forEach_inline__P11915(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20828,62 +20366,79 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.physics___46176 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 360; s.pc = 1; return s.tmp_0; + r0 = s.arg0.fields["kind"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 == s.caps[0]); + return leave(s, r0) + default: oops() +} } } +forEach_inline__P11915.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__P11915_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P11915, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_create_inline__P11921(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && 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 = 301; 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 = 301; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 301; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 301; s.pc = 1; return s.tmp_0; } + } case 1: - r0 = s.retval; - r0 = r0.fields["physicsEngine"]; - s.physics___46176 = (r0); - s.tmp_0 = PhysicsEngine__C38804_v2_4_mk(s); - s.tmp_0.arg0 = s.physics___46176; - 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__C38804_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__P38705.info = {"start":11687,"length":256,"line":421,"column":4,"endLine":431,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this","value"]} +sprites_create_inline__P11921.info = {"start":1237,"length":22,"line":44,"column":21,"endLine":44,"endColumn":43,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]} -function Sprite_top__P38705_mk(s) { +function sprites_create_inline__P11921_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_top__P38705, depth: s.depth + 1, + parent: s, fn: sprites_create_inline__P11921, depth: s.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___46176: undefined, arg0: undefined, - arg1: undefined, } } -function PhysicsEngine_moveSprite__P38807(s) { +function PhysicsEngine_addSprite__P2512(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20896,34 +20451,30 @@ switch (step) { 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__C38804_VT)) failedCast(r0); + if (!checkSubtype(r0, PhysicsEngine__C2510_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -PhysicsEngine_moveSprite__P38807.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"]} +PhysicsEngine_addSprite__P2512.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_moveSprite__P38807_mk(s) { +function PhysicsEngine_addSprite__P2512_mk(s) { checkStack(s.depth); return { - parent: s, fn: PhysicsEngine_moveSprite__P38807, depth: s.depth + 1, + parent: s, fn: PhysicsEngine_addSprite__P2512, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function Sprite_top__P38704(s) { +function Sprite_setKind__P2407(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20933,35 +20484,153 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.spritesByKind___11939 = undefined; + s.overlapMap___11968 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_y"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = (s.arg1 == undefined); s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, 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__P2998_mk(s); + s.callLocIdx = 367; s.pc = 16; return s.tmp_3; + case 16: + r0 = s.retval; + r0 = r0.fields["spritesByKind"]; + s.spritesByKind___11939 = (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___11939, 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__P2469_mk(s); + r0 = s.arg0.fields["_kind"]; + s.tmp_5 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___11939, s.tmp_5); + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.arg0; + s.callLocIdx = 368; 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___11939, 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__C2462_VT); + s.tmp_4 = r0; + s.tmp_5 = sprites_SpriteSet_constructor__P2464_mk(s); + s.tmp_5.arg0 = s.tmp_4; + s.callLocIdx = 369; s.pc = 18; return s.tmp_5; + case 18: + r0 = s.retval; + r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___11939, s.arg1, s.tmp_4); + case 9: + case 10: + s.tmp_0 = sprites_SpriteSet_add__P2467_mk(s); + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___11939, s.arg1); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 370; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + case 11: + case 12: + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 371; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + r0 = r0.fields["overlapMap"]; + s.overlapMap___11968 = (r0); + r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___11968, 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___11968; + 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___11968, 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_top__P38704.info = {"start":11544,"length":53,"line":416,"column":4,"endLine":418,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this"]} -Sprite_top__P38704.isGetter = true; +Sprite_setKind__P2407.info = {"start":12841,"length":663,"line":464,"column":4,"endLine":484,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setKind","argumentNames":["this","value"]} -function Sprite_top__P38704_mk(s) { +function Sprite_setKind__P2407_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_top__P38704, depth: s.depth + 1, + parent: s, fn: Sprite_setKind__P2407, depth: s.depth + 1, pc: 0, retval: undefined, 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___11939: undefined, + overlapMap___11968: undefined, arg0: undefined, + arg1: undefined, } } -function Sprite_y__P38667(s) { +function sprites_SpriteSet_add__P2467(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -20977,39 +20646,50 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = Sprite_top__P38705_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = r0 = s.arg1; - s.tmp_4 = Sprite_height__P38699_mk(s); - s.tmp_4.arg0 = s.arg0; - s.callLocIdx = 311; s.pc = 2; return s.tmp_4; + if (!checkSubtype(r0, sprites_SpriteSet__C2462_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.retval; + 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 / 2); + r0 = (s.tmp_3 > -1); s.tmp_2 = r0; - r0 = (s.tmp_1 - s.tmp_2); - s.tmp_0.arg1 = r0; - s.callLocIdx = 312; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + 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() } } } -Sprite_y__P38667.info = {"start":3081,"length":65,"line":126,"column":4,"endLine":128,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this","v"]} +sprites_SpriteSet_add__P2467.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 Sprite_y__P38667_mk(s) { +function sprites_SpriteSet_add__P2467_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_y__P38667, depth: s.depth + 1, + parent: s, fn: sprites_SpriteSet_add__P2467, depth: s.depth + 1, pc: 0, retval: undefined, 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, } } @@ -21018,7 +20698,7 @@ function Sprite_y__P38667_mk(s) { -function Sprite_height__P38699(s) { +function sprites_SpriteSet_contains__P2470(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21030,33 +20710,37 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_height"]; + if (!checkSubtype(r0, sprites_SpriteSet__C2462_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 / 256); - return leaveAccessor(s, r0) + r0 = (s.tmp_0 > -1); + return leave(s, r0) default: oops() } } } -Sprite_height__P38699.info = {"start":10541,"length":61,"line":380,"column":4,"endLine":382,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"height","argumentNames":["this"]} -Sprite_height__P38699.isGetter = true; +sprites_SpriteSet_contains__P2470.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 Sprite_height__P38699_mk(s) { +function sprites_SpriteSet_contains__P2470_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_height__P38699, depth: s.depth + 1, + parent: s, fn: sprites_SpriteSet_contains__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 scene_systemMenu_MenuOption_setState__P39638(s) { +function sprites_SpriteSet_constructor__P2464(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21068,49 +20752,35 @@ switch (step) { 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__C39633_VT)) failedCast(r0); - r0 = s.arg0.fields["state"]; + if (!checkSubtype(r0, sprites_SpriteSet__C2462_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); 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__P39640_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 985; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - case 3: + r0 = (s.tmp_0).fields["_sprites"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_MenuOption_setState__P39638.info = {"start":1655,"length":147,"line":71,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setState","argumentNames":["this","state"]} +sprites_SpriteSet_constructor__P2464.info = {"start":485,"length":57,"line":19,"column":8,"endLine":21,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"inline","argumentNames":["this"]} -function scene_systemMenu_MenuOption_setState__P39638_mk(s) { +function sprites_SpriteSet_constructor__P2464_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_setState__P39638, depth: s.depth + 1, + parent: s, fn: sprites_SpriteSet_constructor__P2464, 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__P39640(s) { +function Sprite_constructor__P2387(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21122,134 +20792,122 @@ switch (step) { 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__C39633_VT)) failedCast(r0); - r0 = s.arg0.fields["theme"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_constructor__P2096_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 329; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + 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 = pxsim_numops_toBoolDecr(s.tmp_2); + r0 = (s.tmp_2 * 256); + s.tmp_6 = r0; + r0 = (s.tmp_6 | 0); s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + 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 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - { step = 7; continue; } - case 1: + 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__P2358_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 332; s.pc = 2; return s.tmp_0; 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__P38690_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_4.arg0 = r0; - s.tmp_5 = if_basicCard_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_5.arg0 = r0; - if (!s.tmp_5.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "basicCard"); - } else { - s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["basicCard"]; - if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["basicCard"]; } - else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } - else { s.callLocIdx = 988; s.pc = 9; return s.tmp_5; } - } - case 9: r0 = s.retval; - s.tmp_4.arg1 = r0; - s.callLocIdx = 989; s.pc = 8; return s.tmp_4; - case 8: + s.tmp_0 = Sprite_vy__P2360_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 333; s.pc = 3; return s.tmp_0; + case 3: r0 = s.retval; - { step = 6; continue; } + s.tmp_0 = Sprite_ax__P2362_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 334; s.pc = 4; return s.tmp_0; case 4: - s.tmp_0 = Sprite_setImage__P38690_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = if_selectedCard_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_1.arg0 = r0; - if (!s.tmp_1.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "selectedCard"); - } else { - s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["selectedCard"]; - if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["selectedCard"]; } - else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } - else { s.callLocIdx = 990; s.pc = 11; return s.tmp_1; } - } - case 11: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 991; s.pc = 10; return s.tmp_0; - case 10: r0 = s.retval; - { step = 6; continue; } + s.tmp_0 = Sprite_ay__P2364_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 335; s.pc = 5; return s.tmp_0; case 5: - s.tmp_0 = Sprite_setImage__P38690_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = if_activeCard_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_1.arg0 = r0; - if (!s.tmp_1.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "activeCard"); - } else { - s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["activeCard"]; - if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["activeCard"]; } - else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } - else { s.callLocIdx = 992; s.pc = 13; return s.tmp_1; } - } - case 13: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 993; s.pc = 12; return s.tmp_0; - case 12: r0 = s.retval; + s.tmp_0 = Sprite_fx__P2366_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 336; s.pc = 6; return s.tmp_0; case 6: - s.tmp_0 = Sprite_x__P38665_mk(s); - r0 = s.arg0.fields["icon"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = Sprite_x__P38664_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_1.arg0 = r0; - s.callLocIdx = 994; s.pc = 15; return s.tmp_1; - case 15: r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 995; s.pc = 14; return s.tmp_0; - case 14: + s.tmp_0 = Sprite_fy__P2368_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 337; s.pc = 7; return s.tmp_0; + case 7: r0 = s.retval; - s.tmp_0 = Sprite_y__P38667_mk(s); - r0 = s.arg0.fields["icon"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = Sprite_y__P38666_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_1.arg0 = r0; - s.callLocIdx = 996; s.pc = 17; return s.tmp_1; - case 17: + r0 = (s.arg0).fields["_sx"] = (256); + r0 = (s.arg0).fields["_sy"] = (256); + r0 = (s.arg0).fields["flags"] = (0); + s.tmp_0 = Sprite_setImage__P2390_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 338; s.pc = 8; return s.tmp_0; + case 8: r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 997; s.pc = 16; return s.tmp_0; - case 16: + s.tmp_0 = Sprite_setKind__P2407_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = -1; + s.callLocIdx = 339; s.pc = 9; return s.tmp_0; + case 9: r0 = s.retval; - case 7: + 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() } } } -scene_systemMenu_MenuOption_updateCard__P39640.info = {"start":2038,"length":497,"line":86,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateCard","argumentNames":["this"]} +Sprite_constructor__P2387.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 scene_systemMenu_MenuOption_updateCard__P39640_mk(s) { +function Sprite_constructor__P2387_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_updateCard__P39640, depth: s.depth + 1, + parent: s, fn: Sprite_constructor__P2387, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -21257,14 +20915,16 @@ function scene_systemMenu_MenuOption_updateCard__P39640_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, + tmp_6: undefined, arg0: undefined, + arg1: undefined, } } -function Sprite_x__P38665(s) { +function Sprite_fy__P2368(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21280,33 +20940,30 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = Sprite_left__P38701_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = r0 = s.arg1; - s.tmp_4 = Sprite_width__P38698_mk(s); - s.tmp_4.arg0 = s.arg0; - s.callLocIdx = 306; 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 = 307; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, Sprite__C2340_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 = 325; 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_x__P38665.info = {"start":2724,"length":65,"line":115,"column":4,"endLine":117,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this","v"]} +Sprite_fy__P2368.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_x__P38665_mk(s) { +function Sprite_fy__P2368_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_x__P38665, depth: s.depth + 1, + parent: s, fn: Sprite_fy__P2368, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -21321,7 +20978,45 @@ function Sprite_x__P38665_mk(s) { -function Sprite_left__P38701(s) { +function Sprite_fy__P2367(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C2340_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__P2367.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__P2367.isGetter = true; + +function Sprite_fy__P2367_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fy__P2367, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_fx__P2366(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21331,53 +21026,42 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.physics___47444 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 352; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, Sprite__C2340_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 = 322; s.pc = 1; return s.tmp_3; case 1: r0 = s.retval; - r0 = r0.fields["physicsEngine"]; - s.physics___47444 = (r0); - s.tmp_0 = PhysicsEngine__C38804_v2_4_mk(s); - s.tmp_0.arg0 = s.physics___47444; - s.tmp_0.arg1 = s.arg0; - r0 = (s.arg1 * 256); s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 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__C38804_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 = (s.tmp_0).fields["_fx"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_left__P38701.info = {"start":10853,"length":257,"line":391,"column":4,"endLine":401,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this","value"]} +Sprite_fx__P2366.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_left__P38701_mk(s) { +function Sprite_fx__P2366_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_left__P38701, depth: s.depth + 1, + parent: s, fn: Sprite_fx__P2366, depth: s.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___47444: undefined, + tmp_4: undefined, arg0: undefined, arg1: undefined, } } @@ -21386,7 +21070,7 @@ function Sprite_left__P38701_mk(s) { -function Sprite_left__P38700(s) { +function Sprite_fx__P2365(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21401,20 +21085,20 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_x"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_fx"]; s.tmp_0 = r0; r0 = (s.tmp_0 / 256); return leaveAccessor(s, r0) default: oops() } } } -Sprite_left__P38700.info = {"start":10709,"length":53,"line":386,"column":4,"endLine":388,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this"]} -Sprite_left__P38700.isGetter = true; +Sprite_fx__P2365.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__P2365.isGetter = true; -function Sprite_left__P38700_mk(s) { +function Sprite_fx__P2365_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_left__P38700, depth: s.depth + 1, + parent: s, fn: Sprite_fx__P2365, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -21424,7 +21108,7 @@ function Sprite_left__P38700_mk(s) { -function Sprite_width__P38698(s) { +function Sprite_ay__P2364(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21436,33 +21120,40 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_width"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + if (!checkSubtype(r0, Sprite__C2340_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_width__P38698.info = {"start":10374,"length":59,"line":375,"column":4,"endLine":377,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"width","argumentNames":["this"]} -Sprite_width__P38698.isGetter = true; +Sprite_ay__P2364.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_width__P38698_mk(s) { +function Sprite_ay__P2364_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_width__P38698, depth: s.depth + 1, + parent: s, fn: Sprite_ay__P2364, 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_systemMenu_MenuOption_setTheme__P39637(s) { +function Sprite_ay__P2363(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21474,38 +21165,33 @@ switch (step) { 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__C39633_VT)) failedCast(r0); - r0 = (s.arg0).fields["theme"] = (s.arg1); - s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P39640_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 984; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_ay"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -scene_systemMenu_MenuOption_setTheme__P39637.info = {"start":1544,"length":101,"line":66,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setTheme","argumentNames":["this","theme"]} +Sprite_ay__P2363.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__P2363.isGetter = true; -function scene_systemMenu_MenuOption_setTheme__P39637_mk(s) { +function Sprite_ay__P2363_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_setTheme__P39637, depth: s.depth + 1, + parent: s, fn: Sprite_ay__P2363, 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__P39635(s) { +function Sprite_ax__P2362(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21518,75 +21204,39 @@ switch (step) { 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__C39633_VT)) failedCast(r0); - r0 = (s.arg0).fields["top"] = (s.arg2); - s.tmp_0 = Sprite_left__P38701_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 975; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.tmp_0 = Sprite_top__P38705_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg2; - s.callLocIdx = 976; s.pc = 2; return s.tmp_0; - case 2: - r0 = s.retval; - s.tmp_0 = Sprite_x__P38665_mk(s); - r0 = s.arg0.fields["icon"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = Sprite_x__P38664_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_1.arg0 = r0; - s.callLocIdx = 977; s.pc = 4; return s.tmp_1; - case 4: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 978; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.tmp_0 = Sprite_y__P38667_mk(s); - r0 = s.arg0.fields["icon"]; - s.tmp_0.arg0 = r0; - s.tmp_1 = Sprite_y__P38666_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_1.arg0 = r0; - s.callLocIdx = 979; s.pc = 6; return s.tmp_1; - case 6: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.callLocIdx = 980; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; + if (!checkSubtype(r0, Sprite__C2340_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() } } } -scene_systemMenu_MenuOption_position__P39635.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"]} +Sprite_ax__P2362.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 scene_systemMenu_MenuOption_position__P39635_mk(s) { +function Sprite_ax__P2362_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_position__P39635, depth: s.depth + 1, + parent: s, fn: Sprite_ax__P2362, 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_MenuOption_show__P39634(s) { +function Sprite_ax__P2361(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21601,95 +21251,22 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_systemMenu_MenuOption__C39633_VT)) failedCast(r0); - r0 = s.arg0.fields["theme"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_ax"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_1 = if_basicCard_1_mk(s); - r0 = s.arg0.fields["theme"]; - s.tmp_1.arg0 = r0; - if (!s.tmp_1.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "basicCard"); - } else { - s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["basicCard"]; - if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["basicCard"]; } - else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } - else { s.callLocIdx = 970; s.pc = 3; return s.tmp_1; } - } - case 3: - r0 = s.retval; - { step = 2; continue; } - case 1: - r0 = globals.CARD_NORMAL___39676; - case 2: - // jmp value (already in r0) - s.tmp_2 = r0; - s.tmp_3 = r0 = s.arg0; - s.tmp_5 = sprites_create__P38654_mk(s); - s.tmp_5.arg0 = s.tmp_2; - s.tmp_5.arg1 = undefined; - s.callLocIdx = 971; s.pc = 4; return s.tmp_5; - case 4: - r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_3).fields["card"] = (s.tmp_4); - s.tmp_0 = if_z_2_mk(s); - r0 = s.arg0.fields["card"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = 1; - if (!s.tmp_0.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1); - } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"]; - if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; } - else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) } - else { s.callLocIdx = 972; s.pc = 5; return s.tmp_0; } - } - case 5: - r0 = s.retval; - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = sprites_create__P38654_mk(s); - r0 = s.arg0.fields["iconImage"]; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = undefined; - s.callLocIdx = 973; s.pc = 6; return s.tmp_2; - case 6: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["icon"] = (s.tmp_1); - s.tmp_0 = if_z_2_mk(s); - r0 = s.arg0.fields["icon"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = 2; - if (!s.tmp_0.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1); - } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"]; - if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; } - else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) } - else { s.callLocIdx = 974; s.pc = 7; return s.tmp_0; } - } - case 7: - r0 = s.retval; - r0 = (s.arg0).fields["state"] = (2); - r0 = undefined; - return leave(s, r0) + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -scene_systemMenu_MenuOption_show__P39634.info = {"start":904,"length":264,"line":41,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]} +Sprite_ax__P2361.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__P2361.isGetter = true; -function scene_systemMenu_MenuOption_show__P39634_mk(s) { +function Sprite_ax__P2361_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_MenuOption_show__P39634, depth: s.depth + 1, + parent: s, fn: Sprite_ax__P2361, depth: s.depth + 1, pc: 0, retval: undefined, 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, } } @@ -21697,7 +21274,7 @@ function scene_systemMenu_MenuOption_show__P39634_mk(s) { -function sprites_create__P38654(s) { +function Sprite_vy__P2360(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21707,78 +21284,33 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___47525 = undefined; - s.sprite___47528 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 297; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.scene___47525 = (r0); - r0 = pxsim_pxtcore_mkClassInstance(Sprite__C38662_VT); - s.tmp_0 = r0; - s.tmp_1 = Sprite_constructor__P38739_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = s.arg0; - s.callLocIdx = 298; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.sprite___47528 = (s.tmp_0); - s.tmp_0 = Sprite_setKind__P38709_mk(s); - s.tmp_0.arg0 = s.sprite___47528; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 299; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.tmp_0 = PhysicsEngine__C38804_v0_2_mk(s); - r0 = s.scene___47525.fields["physicsEngine"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.sprite___47528; - if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C38804_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__P47543); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); - r0 = pxsim_pxtcore_mkAction(1, sprites_create_inline__P47549); + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_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 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___47528); - s.tmp_2 = helpers_arrayForEach__P37574_mk(s); - s.tmp_3 = helpers_arrayFilter__P37575_mk(s); - r0 = s.scene___47525.fields["createdHandlers"]; - s.tmp_3.arg0 = r0; - s.tmp_3.arg1 = s.tmp_0; - s.callLocIdx = 300; 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 = 302; s.pc = 5; return s.tmp_2; - case 5: - r0 = s.retval; - r0 = s.sprite___47528; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_create__P38654.info = {"start":890,"length":400,"line":35,"column":4,"endLine":47,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"create","argumentNames":["img","kind"]} +Sprite_vy__P2360.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 sprites_create__P38654_mk(s) { +function Sprite_vy__P2360_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_create__P38654, depth: s.depth + 1, + parent: s, fn: Sprite_vy__P2360, depth: s.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___47525: undefined, - sprite___47528: undefined, arg0: undefined, arg1: undefined, } } @@ -21787,7 +21319,7 @@ function sprites_create__P38654_mk(s) { -function forEach_inline__P47543(s) { +function Sprite_vy__P2359(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21801,18 +21333,21 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0.fields["kind"]; + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_vy"]; s.tmp_0 = r0; - r0 = (s.tmp_0 == s.caps[0]); - return leave(s, r0) + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -forEach_inline__P47543.info = {"start":1195,"length":19,"line":43,"column":20,"endLine":43,"endColumn":39,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]} +Sprite_vy__P2359.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__P2359.isGetter = true; -function forEach_inline__P47543_mk(s) { +function Sprite_vy__P2359_mk(s) { checkStack(s.depth); return { - parent: s, fn: forEach_inline__P47543, depth: s.depth + 1, + parent: s, fn: Sprite_vy__P2359, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -21822,7 +21357,7 @@ function forEach_inline__P47543_mk(s) { -function sprites_create_inline__P47549(s) { +function Sprite_vx__P2358(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21834,42 +21369,40 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); 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 = 301; 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 = 301; s.pc = 1; return s.tmp_0; } - else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 301; s.pc = 1; return s.tmp_0;; } - else { s.callLocIdx = 301; s.pc = 1; return s.tmp_0; } - } - case 1: - r0 = s.retval; + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_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() } } } -sprites_create_inline__P47549.info = {"start":1237,"length":22,"line":44,"column":21,"endLine":44,"endColumn":43,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]} +Sprite_vx__P2358.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 sprites_create_inline__P47549_mk(s) { +function Sprite_vx__P2358_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_create_inline__P47549, depth: s.depth + 1, + parent: s, fn: Sprite_vx__P2358, 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 PhysicsEngine_addSprite__P38805(s) { +function Sprite_vx__P2357(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21881,31 +21414,33 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, PhysicsEngine__C38804_VT)) failedCast(r0); - r0 = undefined; - return leave(s, r0) + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) default: oops() } } } -PhysicsEngine_addSprite__P38805.info = {"start":124,"length":29,"line":8,"column":4,"endLine":8,"endColumn":33,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]} +Sprite_vx__P2357.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__P2357.isGetter = true; -function PhysicsEngine_addSprite__P38805_mk(s) { +function Sprite_vx__P2357_mk(s) { checkStack(s.depth); return { - parent: s, fn: PhysicsEngine_addSprite__P38805, depth: s.depth + 1, + parent: s, fn: Sprite_vx__P2357, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, arg0: undefined, - arg1: undefined, } } -function Sprite_constructor__P38739(s) { +function sprites_BaseSprite_constructor__P2096(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -21921,126 +21456,36 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = sprites_BaseSprite_constructor__P38399_mk(s); + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_z__P2099_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 329; s.pc = 1; return s.tmp_0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 130; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - s.tmp_0 = r0 = s.arg0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - 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___38324); - 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__P38669_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 332; s.pc = 2; return s.tmp_0; - case 2: - r0 = s.retval; - s.tmp_0 = Sprite_vy__P38671_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 333; s.pc = 3; return s.tmp_0; + s.tmp_0 = scene_Scene_addSprite__P2869_mk(s); + s.tmp_1 = game_currentScene__P2998_mk(s); + s.callLocIdx = 131; s.pc = 3; return s.tmp_1; case 3: r0 = s.retval; - s.tmp_0 = Sprite_ax__P38673_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 334; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.tmp_0 = Sprite_ay__P38675_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 335; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - s.tmp_0 = Sprite_fx__P38677_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 336; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - s.tmp_0 = Sprite_fy__P38679_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 337; 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__P38690_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 338; s.pc = 8; return s.tmp_0; - case 8: - r0 = s.retval; - s.tmp_0 = Sprite_setKind__P38709_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = -1; - s.callLocIdx = 339; s.pc = 9; return s.tmp_0; - case 9: + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 132; s.pc = 2; return s.tmp_0; + case 2: 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__P38739.info = {"start":7406,"length":678,"line":278,"column":4,"endLine":300,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["this","img"]} +sprites_BaseSprite_constructor__P2096.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 Sprite_constructor__P38739_mk(s) { +function sprites_BaseSprite_constructor__P2096_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_constructor__P38739, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite_constructor__P2096, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -22049,7 +21494,7 @@ function Sprite_constructor__P38739_mk(s) { -function Sprite_fy__P38679(s) { +function scene_Scene_addSprite__P2869(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22065,36 +21510,44 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); + if (!checkSubtype(r0, scene_Scene__C2842_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; - s.tmp_3 = Math_max__P37596_mk(s); - s.tmp_3.arg0 = 0; - s.tmp_3.arg1 = s.arg1; - s.callLocIdx = 325; s.pc = 1; return s.tmp_3; - case 1: - r0 = s.retval; + r0 = s.tmp_0.fields["spriteNextId"]; s.tmp_2 = r0; - r0 = (s.tmp_2 * 256); - s.tmp_4 = r0; - r0 = (s.tmp_4 | 0); + r0 = (s.tmp_2 + 1); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_fy"] = (s.tmp_1); - r0 = undefined; + r0 = (s.tmp_0).fields["spriteNextId"] = (s.tmp_1); + s.tmp_3 = if_id_2_mk(s); + s.tmp_3.arg0 = s.arg1; + s.tmp_3.arg1 = s.tmp_2; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "id", s.tmp_3.arg1); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/id"]; + if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["id"] = s.tmp_3.arg1; } + else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) } + else { s.callLocIdx = 929; s.pc = 1; return s.tmp_3; } + } + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_fy__P38679.info = {"start":5109,"length":64,"line":191,"column":4,"endLine":193,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"fy","argumentNames":["this","v"]} +scene_Scene_addSprite__P2869.info = {"start":7218,"length":128,"line":200,"column":8,"endLine":203,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"addSprite","argumentNames":["this","sprite"]} -function Sprite_fy__P38679_mk(s) { +function scene_Scene_addSprite__P2869_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_fy__P38679, depth: s.depth + 1, + parent: s, fn: scene_Scene_addSprite__P2869, depth: s.depth + 1, pc: 0, retval: 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, } } @@ -22103,7 +21556,7 @@ function Sprite_fy__P38679_mk(s) { -function Sprite_fy__P38678(s) { +function sprites_BaseSprite_z__P2099(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22115,33 +21568,54 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_fy"]; + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); + r0 = s.arg0.fields["_z"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== s.arg1); s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, 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__P2998_mk(s); + s.callLocIdx = 133; 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() } } } -Sprite_fy__P38678.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__P38678.isGetter = true; +sprites_BaseSprite_z__P2099.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 Sprite_fy__P38678_mk(s) { +function sprites_BaseSprite_z__P2099_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_fy__P38678, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite_z__P2099, depth: s.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_fx__P38677(s) { +function sprites_BaseSprite_z__P2098(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22153,49 +21627,30 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_3 = Math_max__P37596_mk(s); - s.tmp_3.arg0 = 0; - s.tmp_3.arg1 = s.arg1; - s.callLocIdx = 322; 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) + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); + r0 = s.arg0.fields["_z"]; + return leaveAccessor(s, r0) default: oops() } } } -Sprite_fx__P38677.info = {"start":4766,"length":64,"line":181,"column":4,"endLine":183,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"fx","argumentNames":["this","v"]} +sprites_BaseSprite_z__P2098.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__P2098.isGetter = true; -function Sprite_fx__P38677_mk(s) { +function sprites_BaseSprite_z__P2098_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_fx__P38677, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite_z__P2098, depth: s.depth + 1, pc: 0, retval: 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__P38676(s) { +function game_onShade__P3016(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22209,23 +21664,42 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_fx"]; + s.tmp_0 = game_init__P4930_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 959; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, 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__P2804_mk(s); + s.tmp_2.arg0 = 80; + s.tmp_2.arg1 = s.arg0; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 960; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) default: oops() } } } -Sprite_fx__P38676.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__P38676.isGetter = true; +game_onShade__P3016.info = {"start":15517,"length":145,"line":464,"column":4,"endLine":468,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onShade","argumentNames":["a"]} -function Sprite_fx__P38676_mk(s) { +function game_onShade__P3016_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_fx__P38676, depth: s.depth + 1, + parent: s, fn: game_onShade__P3016, 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, } } @@ -22233,7 +21707,7 @@ function Sprite_fx__P38676_mk(s) { -function Sprite_ay__P38675(s) { +function scene_createRenderable__P2804(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22243,42 +21717,60 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.renderable___10615 = 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__C38662_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); + r0 = pxsim_pxtcore_mkClassInstance(scene_Renderable__C2799_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__P10621; + case 2: + // jmp value (already in r0) s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_ay"] = (s.tmp_1); - r0 = undefined; + s.tmp_3 = scene_Renderable_constructor__P2800_mk(s); + s.tmp_3.arg0 = s.tmp_0; + s.tmp_3.arg1 = s.arg1; + s.tmp_3.arg2 = s.tmp_2; + s.tmp_3.arg3 = s.arg0; + s.callLocIdx = 903; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.renderable___10615 = (s.tmp_0); + r0 = s.renderable___10615; return leave(s, r0) default: oops() } } } -Sprite_ay__P38675.info = {"start":4435,"length":51,"line":170,"column":4,"endLine":172,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this","v"]} +scene_createRenderable__P2804.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 Sprite_ay__P38675_mk(s) { +function scene_createRenderable__P2804_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_ay__P38675, depth: s.depth + 1, + parent: s, fn: scene_createRenderable__P2804, depth: s.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___10615: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, } } -function Sprite_ay__P38674(s) { +function renderable_inline__P10621(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22288,35 +21780,24 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_ay"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + r0 = true; + return leave(s, r0) default: oops() } } } -Sprite_ay__P38674.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__P38674.isGetter = true; +renderable_inline__P10621.info = {"start":875,"length":10,"line":31,"column":32,"endLine":31,"endColumn":42,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":[]} -function Sprite_ay__P38674_mk(s) { +function renderable_inline__P10621_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_ay__P38674, depth: s.depth + 1, + parent: s, fn: renderable_inline__P10621, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - arg0: undefined, } } -function Sprite_ax__P38673(s) { +function scene_Renderable_constructor__P2800(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22329,39 +21810,43 @@ switch (step) { 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__C38662_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); + if (!checkSubtype(r0, scene_Renderable__C2799_VT)) failedCast(r0); + r0 = (s.arg0).fields["handler"] = (s.arg1); + r0 = (s.arg0).fields["shouldBeVisible"] = (s.arg2); + s.tmp_0 = sprites_BaseSprite_constructor__P2096_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg3; + s.callLocIdx = 900; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_ax__P38673.info = {"start":4096,"length":51,"line":159,"column":4,"endLine":161,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this","v"]} +scene_Renderable_constructor__P2800.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 Sprite_ax__P38673_mk(s) { +function scene_Renderable_constructor__P2800_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_ax__P38673, depth: s.depth + 1, + parent: s, fn: scene_Renderable_constructor__P2800, 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 Sprite_ax__P38672(s) { +function scene_systemMenu_PauseMenu_constructor__P3095(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22373,33 +21858,59 @@ switch (step) { 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__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_ax"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C3094_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__P3103_mk(s); + r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___3110); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 3; + s.tmp_1.arg2 = undefined; + s.tmp_1.arg3 = undefined; + s.callLocIdx = 998; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = (s.arg0).fields["theme"] = (s.tmp_2); + r0 = (s.arg0).fields["scrollRow"] = (0); + r0 = (s.arg0).fields["scrollOffset"] = (0); + r0 = (s.arg0).fields["scrollTarget"] = (0); + r0 = undefined; + return leave(s, r0) default: oops() } } } -Sprite_ax__P38672.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__P38672.isGetter = true; +scene_systemMenu_PauseMenu_constructor__P3095.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 Sprite_ax__P38672_mk(s) { +function scene_systemMenu_PauseMenu_constructor__P3095_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_ax__P38672, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_PauseMenu_constructor__P3095, 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 Sprite_vy__P38671(s) { +function scene_systemMenu_buildMenuTheme__P3103(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22409,42 +21920,150 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.cardsPerRow___12902 = 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__C38662_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); + r0 = pxsim_ImageMethods.width(globals.screen___2032); + 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___12902 = (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___1975; + 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__P1978_mk(s); + s.tmp_1.arg0 = s.arg2; + s.callLocIdx = 1108; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + case 4: + // jmp value (already in r0) s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + 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___12902); + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.tmp_3 = r0; + r0 = (s.cardsPerRow___12902 * s.arg0); + s.tmp_5 = r0; + r0 = (s.cardsPerRow___12902 - 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 = (s.tmp_0).fields["_vy"] = (s.tmp_1); - r0 = undefined; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "padding", s.tmp_1); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoFont", s.arg2); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerFont", s.arg3); + s.tmp_11 = if_charHeight_1_mk(s); + s.tmp_11.arg0 = s.arg3; + if (!s.tmp_11.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charHeight"); + } else { + s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"]; + if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; } + else if (!s.tmp_11.fn.isGetter) { s.retval = bind(s.tmp_11); } + else { s.callLocIdx = 1109; s.pc = 6; return s.tmp_11; } + } + case 6: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 + 2); + s.tmp_9 = r0; + r0 = (s.tmp_9 + s.arg1); + s.tmp_8 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsTop", s.tmp_8); + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.tmp_14 = r0; + s.tmp_16 = if_charHeight_1_mk(s); + s.tmp_16.arg0 = s.arg2; + if (!s.tmp_16.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_16.arg0, "charHeight"); + } else { + s.tmp_16.fn = s.tmp_16.arg0.vtable.iface["charHeight"]; + if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields["charHeight"]; } + else if (!s.tmp_16.fn.isGetter) { s.retval = bind(s.tmp_16); } + else { s.callLocIdx = 1110; s.pc = 7; return s.tmp_16; } + } + case 7: + r0 = s.retval; + s.tmp_15 = r0; + r0 = (s.tmp_14 - s.tmp_15); + s.tmp_13 = r0; + r0 = (s.tmp_13 - 2); + s.tmp_12 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoTop", s.tmp_12); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerText", "PAUSED"); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "selectedCard", globals.CARD_SELECTED___3111); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "activeCard", globals.CARD_ACTIVE___3112); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "basicCard", globals.CARD_NORMAL___3110); + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -Sprite_vy__P38671.info = {"start":3757,"length":51,"line":148,"column":4,"endLine":150,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this","v"]} +scene_systemMenu_buildMenuTheme__P3103.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 Sprite_vy__P38671_mk(s) { +function scene_systemMenu_buildMenuTheme__P3103_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_vy__P38671, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_buildMenuTheme__P3103, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___12902: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function Sprite_vy__P38670(s) { +function image_doubledFont__P1978(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22458,21 +22077,21 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_vy"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + s.tmp_0 = image_scaledFont__P1979_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 2; + s.callLocIdx = 89; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) default: oops() } } } -Sprite_vy__P38670.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__P38670.isGetter = true; +image_doubledFont__P1978.info = {"start":12008,"length":82,"line":146,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"doubledFont","argumentNames":["f"]} -function Sprite_vy__P38670_mk(s) { +function image_doubledFont__P1978_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_vy__P38670, depth: s.depth + 1, + parent: s, fn: image_doubledFont__P1978, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -22482,7 +22101,7 @@ function Sprite_vy__P38670_mk(s) { -function Sprite_vx__P38669(s) { +function image_scaledFont__P1979(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22497,28 +22116,129 @@ switch (step) { 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; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); - s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + { step = 5; continue; } + case 1: + case 2: + r0 = pxsim_pxtrt.mkMap(); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); - r0 = undefined; + 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 = 90; 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 = 91; 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 = 92; 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 = 93; 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 = 94; 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() } } } -Sprite_vx__P38669.info = {"start":3426,"length":51,"line":137,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this","v"]} +image_scaledFont__P1979.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 Sprite_vx__P38669_mk(s) { +function image_scaledFont__P1979_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_vx__P38669, depth: s.depth + 1, + parent: s, fn: image_scaledFont__P1979, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -22527,7 +22247,7 @@ function Sprite_vx__P38669_mk(s) { -function Sprite_vx__P38668(s) { +function game_pushScene__P3002(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22537,35 +22257,70 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_vx"]; + s.oldScene___12981 = undefined; + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 947; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.oldScene___12981 = (r0); + s.tmp_0 = particles_clearAll__P3180_mk(s); + s.callLocIdx = 948; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = particles_disableAll__P3181_mk(s); + s.callLocIdx = 949; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._sceneStack___4923); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - r0 = (s.tmp_0 / 256); - return leaveAccessor(s, r0) + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._sceneStack___4923 = (r0); + case 1: + case 2: + r0 = pxsim_Array__push(globals._sceneStack___4923, globals._scene___4922); + s.tmp_0 = game_init__P4930_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 950; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___4924); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkAction(1, game_pushScene_inline__P12998); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___12981); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = globals._scenePushHandlers___4924; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 952; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; + return leave(s, r0) default: oops() } } } -Sprite_vx__P38668.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__P38668.isGetter = true; +game_pushScene__P3002.info = {"start":4760,"length":367,"line":148,"column":4,"endLine":159,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"pushScene","argumentNames":[]} -function Sprite_vx__P38668_mk(s) { +function game_pushScene__P3002_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_vx__P38668, depth: s.depth + 1, + parent: s, fn: game_pushScene__P3002, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: undefined, + tmp_1: undefined, + oldScene___12981: undefined, } } -function sprites_BaseSprite_constructor__P38399(s) { +function game_pushScene_inline__P12998(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22577,49 +22332,84 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, sprites_BaseSprite__C38391_VT)) failedCast(r0); - s.tmp_0 = sprites_BaseSprite_z__P38394_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 130; s.pc = 1; return s.tmp_0; + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = s.arg0; + s.tmp_0.arg0 = s.caps[0]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 951; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - s.tmp_0 = scene_Scene_addSprite__P38450_mk(s); - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 131; s.pc = 3; return s.tmp_1; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_pushScene_inline__P12998.info = {"start":5091,"length":18,"line":157,"column":39,"endLine":157,"endColumn":57,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} + +function game_pushScene_inline__P12998_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_pushScene_inline__P12998, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_disableAll__P3181(s) { +let r0 = s.r0, step = 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___13002 = undefined; + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1191; s.pc = 3; return s.tmp_0; case 3: r0 = s.retval; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 132; s.pc = 2; return s.tmp_0; - case 2: + s.sources___13002 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___13002); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.sources___13002; + s.tmp_0.arg1 = particles_disableAll_inline__P13008; + s.callLocIdx = 1193; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P5268_mk(s); + s.callLocIdx = 1194; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_BaseSprite_constructor__P38399.info = {"start":344,"length":170,"line":15,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"inline","argumentNames":["this","z"]} +particles_disableAll__P3181.info = {"start":12370,"length":195,"line":402,"column":4,"endLine":408,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"disableAll","argumentNames":[]} -function sprites_BaseSprite_constructor__P38399_mk(s) { +function particles_disableAll__P3181_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite_constructor__P38399, depth: s.depth + 1, + parent: s, fn: particles_disableAll__P3181, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - arg0: undefined, - arg1: undefined, + sources___13002: undefined, } } -function scene_Scene_addSprite__P38450(s) { +function particles_disableAll_inline__P13008(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22631,57 +22421,34 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, scene_Scene__C38446_VT)) failedCast(r0); - r0 = s.arg0.fields["allSprites"]; - s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.arg1); - s.tmp_0 = r0 = s.arg0; - r0 = s.tmp_0.fields["spriteNextId"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + 1); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["spriteNextId"] = (s.tmp_1); - s.tmp_3 = if_id_2_mk(s); - s.tmp_3.arg0 = s.arg1; - s.tmp_3.arg1 = s.tmp_2; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "id", s.tmp_3.arg1); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/id"]; - if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["id"] = s.tmp_3.arg1; } - else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) } - else { s.callLocIdx = 929; s.pc = 1; return s.tmp_3; } - } + s.tmp_0 = particles_ParticleSource_enabled__P3163_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 1192; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - r0 = undefined; + r0 = false; return leave(s, r0) default: oops() } } } -scene_Scene_addSprite__P38450.info = {"start":7218,"length":128,"line":200,"column":8,"endLine":203,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"addSprite","argumentNames":["this","sprite"]} +particles_disableAll_inline__P13008.info = {"start":12495,"length":22,"line":405,"column":28,"endLine":405,"endColumn":50,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} -function scene_Scene_addSprite__P38450_mk(s) { +function particles_disableAll_inline__P13008_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_addSprite__P38450, depth: s.depth + 1, + parent: s, fn: particles_disableAll_inline__P13008, depth: s.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__P38394(s) { +function particles_clearAll__P3180(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22691,56 +22458,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38391_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__P38454_mk(s); - s.callLocIdx = 133; s.pc = 3; return s.tmp_1; + s.sources___13013 = undefined; + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1187; s.pc = 3; return s.tmp_0; 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); + s.sources___13013 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___13013); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.sources___13013; + s.tmp_0.arg1 = particles_clearAll_inline__P13019; + s.callLocIdx = 1189; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P5268_mk(s); + s.callLocIdx = 1190; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; case 1: case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_BaseSprite_z__P38394.info = {"start":656,"length":174,"line":30,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this","v"]} +particles_clearAll__P3180.info = {"start":12098,"length":185,"line":391,"column":4,"endLine":397,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"clearAll","argumentNames":[]} -function sprites_BaseSprite_z__P38394_mk(s) { +function particles_clearAll__P3180_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite_z__P38394, depth: s.depth + 1, + parent: s, fn: particles_clearAll__P3180, depth: s.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, + sources___13013: undefined, } } -function sprites_BaseSprite_z__P38393(s) { +function particles_clearAll_inline__P13019(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22754,20 +22511,23 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, sprites_BaseSprite__C38391_VT)) failedCast(r0); - r0 = s.arg0.fields["_z"]; - return leaveAccessor(s, r0) + s.tmp_0 = particles_ParticleSource_clear__P3165_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1188; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) default: oops() } } } -sprites_BaseSprite_z__P38393.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__P38393.isGetter = true; +particles_clearAll_inline__P13019.info = {"start":12221,"length":14,"line":394,"column":28,"endLine":394,"endColumn":42,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} -function sprites_BaseSprite_z__P38393_mk(s) { +function particles_clearAll_inline__P13019_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite_z__P38393, depth: s.depth + 1, + parent: s, fn: particles_clearAll_inline__P13019, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, arg0: undefined, } } @@ -22775,7 +22535,7 @@ function sprites_BaseSprite_z__P38393_mk(s) { -function Sprite_setKind__P38709(s) { +function particles_ParticleSource_clear__P3165(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22785,153 +22545,32 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.spritesByKind___47567 = undefined; - s.overlapMap___47596 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_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__P38454_mk(s); - s.callLocIdx = 367; s.pc = 16; return s.tmp_3; - case 16: - r0 = s.retval; - r0 = r0.fields["spritesByKind"]; - s.spritesByKind___47567 = (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___47567, 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__P38774_mk(s); - r0 = s.arg0.fields["_kind"]; - s.tmp_5 = r0; - r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___47567, s.tmp_5); - s.tmp_4.arg0 = r0; - s.tmp_4.arg1 = s.arg0; - s.callLocIdx = 368; 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___47567, 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__C38768_VT); - s.tmp_4 = r0; - s.tmp_5 = sprites_SpriteSet_constructor__P38779_mk(s); - s.tmp_5.arg0 = s.tmp_4; - s.callLocIdx = 369; s.pc = 18; return s.tmp_5; - case 18: - r0 = s.retval; - r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___47567, s.arg1, s.tmp_4); - case 9: - case 10: - s.tmp_0 = sprites_SpriteSet_add__P38772_mk(s); - r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___47567, s.arg1); - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 370; s.pc = 19; return s.tmp_0; - case 19: - r0 = s.retval; - case 11: - case 12: - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 371; s.pc = 20; return s.tmp_0; - case 20: - r0 = s.retval; - r0 = r0.fields["overlapMap"]; - s.overlapMap___47596 = (r0); - r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___47596, 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___47596; - 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___47596, s.arg1); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_kindsOverlappedWith"] = (s.tmp_1); - r0 = (s.arg0).fields["_kind"] = (s.arg1); - case 15: + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + r0 = (s.arg0).fields["head"] = (undefined); r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_setKind__P38709.info = {"start":12841,"length":663,"line":464,"column":4,"endLine":484,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setKind","argumentNames":["this","value"]} +particles_ParticleSource_clear__P3165.info = {"start":7424,"length":54,"line":243,"column":8,"endLine":245,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"clear","argumentNames":["this"]} -function Sprite_setKind__P38709_mk(s) { +function particles_ParticleSource_clear__P3165_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_setKind__P38709, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_clear__P3165, depth: s.depth + 1, pc: 0, retval: undefined, 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___47567: undefined, - overlapMap___47596: undefined, arg0: undefined, - arg1: undefined, } } -function sprites_SpriteSet_constructor__P38779(s) { +function controller_Button_onEvent__P2196(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22941,37 +22580,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.eventHandler___13031 = 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_SpriteSet__C38768_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); + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + s.tmp_0 = controller_Button_getOrCreateHandlerForEvent__P4711_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 203; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.eventHandler___13031 = (r0); + r0 = (s.eventHandler___13031).fields["callback"] = (s.arg2); r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_SpriteSet_constructor__P38779.info = {"start":485,"length":57,"line":19,"column":8,"endLine":21,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"inline","argumentNames":["this"]} +controller_Button_onEvent__P2196.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 sprites_SpriteSet_constructor__P38779_mk(s) { +function controller_Button_onEvent__P2196_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteSet_constructor__P38779, depth: s.depth + 1, + parent: s, fn: controller_Button_onEvent__P2196, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, + eventHandler___13031: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function sprites_SpriteSet_add__P38772(s) { +function controller_Button_getOrCreateHandlerForEvent__P4711(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -22981,49 +22629,132 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.handlerState___13052 = undefined; + s.eventHandler___13061 = undefined; + s.unnamed68___U2 = undefined; + s.unnamed69___U3 = undefined; + s.newHandler___13077 = 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__C38768_VT)) failedCast(r0); - r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + s.tmp_3 = controller_Button_handlerState__P4706_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 213; 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 = false; - { step = 5; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonEventHandlerState__C2185_VT); + s.tmp_4 = r0; + s.tmp_5 = controller_ButtonEventHandlerState_constructor__P2186_mk(s); + s.tmp_5.arg0 = s.tmp_4; + r0 = s.arg0.fields["id"]; + s.tmp_5.arg1 = r0; + s.callLocIdx = 215; s.pc = 11; return s.tmp_5; + case 11: + r0 = s.retval; + s.tmp_7 = game_currentScene__P2998_mk(s); + s.callLocIdx = 214; 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: - 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_0 = controller_Button_handlerState__P4706_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 216; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.handlerState___13052 = (r0); + r0 = s.handlerState___13052.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; } - r0 = false; - { step = 5; continue; } + s.tmp_3 = r0 = s.handlerState___13052; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["user"] = (s.tmp_4); case 3: case 4: - r0 = s.arg0.fields["_sprites"]; - s.tmp_5 = r0; - r0 = pxsim_Array__push(s.tmp_5, s.arg1); - r0 = true; + s.eventHandler___13061 = (undefined); + r0 = s.handlerState___13052.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___13061 = (r0); + r0 = s.eventHandler___13061.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___13061; + { 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__P13074); + 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 = 218; s.pc = 14; return s.tmp_5; + case 14: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonHandler__C2183_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_ButtonHandler_constructor__P2184_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 219; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.newHandler___13077 = (s.tmp_0); + r0 = s.handlerState___13052.fields["user"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.newHandler___13077); + r0 = s.newHandler___13077; + case 9: return leave(s, r0) default: oops() } } } -sprites_SpriteSet_add__P38772.info = {"start":1041,"length":263,"line":41,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"add","argumentNames":["this","sprite"]} +controller_Button_getOrCreateHandlerForEvent__P4711.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 sprites_SpriteSet_add__P38772_mk(s) { +function controller_Button_getOrCreateHandlerForEvent__P4711_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteSet_add__P38772, depth: s.depth + 1, + parent: s, fn: controller_Button_getOrCreateHandlerForEvent__P4711, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -23031,6 +22762,13 @@ function sprites_SpriteSet_add__P38772_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + handlerState___13052: undefined, + eventHandler___13061: undefined, + unnamed68___U2: undefined, + unnamed69___U3: undefined, + newHandler___13077: undefined, arg0: undefined, arg1: undefined, } } @@ -23039,7 +22777,7 @@ function sprites_SpriteSet_add__P38772_mk(s) { -function sprites_SpriteSet_contains__P38775(s) { +function controller_Button_getOrCreateHandlerForEvent_inline__P13074(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23049,39 +22787,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C38768_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); + s.tmp_0 = controller_Button_runButtonEvents__P4710_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.caps[1]; + s.callLocIdx = 217; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_SpriteSet_contains__P38775.info = {"start":2172,"length":100,"line":79,"column":8,"endLine":81,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"contains","argumentNames":["this","sprite"]} +controller_Button_getOrCreateHandlerForEvent_inline__P13074.info = {"start":9186,"length":33,"line":265,"column":44,"endLine":265,"endColumn":77,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} -function sprites_SpriteSet_contains__P38775_mk(s) { +function controller_Button_getOrCreateHandlerForEvent_inline__P13074_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteSet_contains__P38775, depth: s.depth + 1, + parent: s, fn: controller_Button_getOrCreateHandlerForEvent_inline__P13074, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - arg0: undefined, - arg1: undefined, } } -function game_onShade__P39361(s) { +function controller_Button_runButtonEvents__P4710(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23091,54 +22821,144 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.handlerState___13091 = undefined; + s.userHandler___13095 = undefined; + s.eventHandler___13106 = 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; } - s.tmp_0 = game_init__P39342_mk(s); - s.tmp_0.arg0 = undefined; - s.callLocIdx = 959; s.pc = 4; return s.tmp_0; - case 4: + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + s.tmp_0 = controller_Button_handlerState__P4706_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 209; s.pc = 14; return s.tmp_0; + case 14: r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg0); + s.handlerState___13091 = (r0); + r0 = pxsim_numops_toBoolDecr(s.handlerState___13091); 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; } + { step = 13; continue; } case 1: case 2: - s.tmp_2 = scene_createRenderable__P39158_mk(s); - s.tmp_2.arg0 = 80; - s.tmp_2.arg1 = s.arg0; - s.tmp_2.arg2 = undefined; - s.callLocIdx = 960; s.pc = 5; return s.tmp_2; - case 5: + s.tmp_2 = controller_Button_getOrCreateHandlerForEvent__P4711_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 210; s.pc = 15; return s.tmp_2; + case 15: + r0 = s.retval; + s.userHandler___13095 = (r0); + r0 = s.userHandler___13095.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___13095; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "callback"), 1); + s.callLocIdx = 211; 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 = 211; s.pc = 16; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 211; s.pc = 16; return s.tmp_1;; } + else { s.callLocIdx = 211; s.pc = 16; return s.tmp_1; } + } + case 16: r0 = s.retval; case 3: + case 4: + r0 = s.handlerState___13091.fields["system"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.eventHandler___13106 = (undefined); + r0 = s.handlerState___13091.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___13106 = (r0); + r0 = s.eventHandler___13106.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___13106.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___13106; + if (!s.tmp_5.arg0.vtable.iface) { + setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "callback"), 1); + s.callLocIdx = 212; 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 = 212; s.pc = 17; return s.tmp_5; } + else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 212; s.pc = 17; return s.tmp_5;; } + else { s.callLocIdx = 212; 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() } } } -game_onShade__P39361.info = {"start":15517,"length":145,"line":464,"column":4,"endLine":468,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onShade","argumentNames":["a"]} +controller_Button_runButtonEvents__P4710.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 game_onShade__P39361_mk(s) { +function controller_Button_runButtonEvents__P4710_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_onShade__P39361, depth: s.depth + 1, + parent: s, fn: controller_Button_runButtonEvents__P4710, depth: s.depth + 1, pc: 0, retval: undefined, 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___13091: undefined, + userHandler___13095: undefined, + eventHandler___13106: undefined, + unnamed66___U3: undefined, + unnamed67___U4: undefined, arg0: undefined, + arg1: undefined, } } -function scene_createRenderable__P39158(s) { +function controller_Button_handlerState__P4706(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23148,60 +22968,77 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.renderable___46214 = undefined; + s.state___13122 = undefined; + s.unnamed64___U1 = undefined; + s.unnamed65___U2 = 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__C39152_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; } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + s.state___13122 = (undefined); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 199; 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: - r0 = renderable_inline__P46220; - case 2: - // jmp value (already in r0) + 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___13122 = (r0); + r0 = s.state___13122.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; - s.tmp_3 = scene_Renderable_constructor__P39157_mk(s); - s.tmp_3.arg0 = s.tmp_0; - s.tmp_3.arg1 = s.arg1; - s.tmp_3.arg2 = s.tmp_2; - s.tmp_3.arg3 = s.arg0; - s.callLocIdx = 903; s.pc = 3; return s.tmp_3; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + r0 = s.state___13122; + { step = 5; continue; } + case 2: case 3: - r0 = s.retval; - s.renderable___46214 = (s.tmp_0); - r0 = s.renderable___46214; - return leave(s, r0) + 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() } } } -scene_createRenderable__P39158.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"]} +controller_Button_handlerState__P4706.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__P4706.isGetter = true; -function scene_createRenderable__P39158_mk(s) { +function controller_Button_handlerState__P4706_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_createRenderable__P39158, depth: s.depth + 1, + parent: s, fn: controller_Button_handlerState__P4706, depth: s.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___46214: undefined, + tmp_4: undefined, + state___13122: undefined, + unnamed64___U1: undefined, + unnamed65___U2: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function renderable_inline__P46220(s) { +function controller_ButtonEventHandlerState_constructor__P2186(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23211,24 +23048,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = true; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_ButtonEventHandlerState__C2185_VT)) failedCast(r0); + r0 = (s.arg0).fields["id"] = (s.arg1); + r0 = undefined; return leave(s, r0) default: oops() } } } -renderable_inline__P46220.info = {"start":875,"length":10,"line":31,"column":32,"endLine":31,"endColumn":42,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":[]} +controller_ButtonEventHandlerState_constructor__P2186.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 renderable_inline__P46220_mk(s) { +function controller_ButtonEventHandlerState_constructor__P2186_mk(s) { checkStack(s.depth); return { - parent: s, fn: renderable_inline__P46220, depth: s.depth + 1, + parent: s, fn: controller_ButtonEventHandlerState_constructor__P2186, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, } } -function scene_Renderable_constructor__P39157(s) { +function controller_ButtonHandler_constructor__P2184(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23242,42 +23089,33 @@ switch (step) { 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__C39152_VT)) failedCast(r0); - r0 = (s.arg0).fields["handler"] = (s.arg1); - r0 = (s.arg0).fields["shouldBeVisible"] = (s.arg2); - s.tmp_0 = sprites_BaseSprite_constructor__P38399_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg3; - s.callLocIdx = 900; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; + if (!checkSubtype(r0, controller_ButtonHandler__C2183_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() } } } -scene_Renderable_constructor__P39157.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"]} +controller_ButtonHandler_constructor__P2184.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 scene_Renderable_constructor__P39157_mk(s) { +function controller_ButtonHandler_constructor__P2184_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Renderable_constructor__P39157, depth: s.depth + 1, + parent: s, fn: controller_ButtonHandler_constructor__P2184, 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 game_pushScene__P39343(s) { +function scene_systemMenu_initScreen__P5190(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23287,70 +23125,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.oldScene___48640 = undefined; - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 947; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - s.oldScene___48640 = (r0); - s.tmp_0 = particles_clearAll__P39794_mk(s); - s.callLocIdx = 948; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - s.tmp_0 = particles_disableAll__P39795_mk(s); - s.callLocIdx = 949; s.pc = 7; return s.tmp_0; - case 7: + s.brightness___13134 = undefined; + s.tmp_0 = settings_readNumber__P2068_mk(s); + s.tmp_0.arg0 = "#brightness"; + s.callLocIdx = 1117; s.pc = 3; return s.tmp_0; + case 3: r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(globals._sceneStack___39332); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + s.brightness___13134 = (r0); + r0 = (s.brightness___13134 !== undefined); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = pxsim_Array__mk(); - globals._sceneStack___39332 = (r0); + s.tmp_1 = helpers_setScreenBrightness__P1965_mk(s); + s.tmp_1.arg0 = globals.screen___2032; + s.tmp_1.arg1 = s.brightness___13134; + s.callLocIdx = 1118; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; case 1: case 2: - r0 = pxsim_Array__push(globals._sceneStack___39332, globals._scene___39331); - s.tmp_0 = game_init__P39342_mk(s); - s.tmp_0.arg0 = true; - s.callLocIdx = 950; s.pc = 8; return s.tmp_0; - case 8: - r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___39333); - if (!r0) { step = 3; continue; } - r0 = pxsim_pxtcore_mkAction(1, game_pushScene_inline__P48657); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___48640); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - s.tmp_1.arg0 = globals._scenePushHandlers___39333; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 952; s.pc = 9; return s.tmp_1; - case 9: - r0 = s.retval; - case 3: - case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -game_pushScene__P39343.info = {"start":4760,"length":367,"line":148,"column":4,"endLine":159,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"pushScene","argumentNames":[]} +scene_systemMenu_initScreen__P5190.info = {"start":13388,"length":175,"line":405,"column":4,"endLine":409,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initScreen","argumentNames":[]} -function game_pushScene__P39343_mk(s) { +function scene_systemMenu_initScreen__P5190_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_pushScene__P39343, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_initScreen__P5190, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - oldScene___48640: undefined, + brightness___13134: undefined, } } -function game_pushScene_inline__P48657(s) { +function settings_readNumber__P2068(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23360,29 +23174,69 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.buf___13145 = undefined; + s.nums___13152 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = lambda_2_mk(s); - s.tmp_0.argL = s.arg0; - s.tmp_0.arg0 = s.caps[0]; - setupLambda(s.tmp_0, s.tmp_0.argL); - s.callLocIdx = 951; s.pc = 1; return s.tmp_0; + r0 = pxsim.settings._get(s.arg0); + s.buf___13145 = (r0); + r0 = pxsim_numops_toBoolDecr(s.buf___13145); + 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___13145; + s.tmp_2.arg1 = 0; + s.callLocIdx = 129; s.pc = 8; return s.tmp_2; + case 8: r0 = s.retval; + s.nums___13152 = (r0); + s.tmp_0 = r0 = s.nums___13152; + 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___13152); + 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___13152, 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() } } } -game_pushScene_inline__P48657.info = {"start":5091,"length":18,"line":157,"column":39,"endLine":157,"endColumn":57,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} +settings_readNumber__P2068.info = {"start":3283,"length":313,"line":131,"column":4,"endLine":141,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readNumber","argumentNames":["key"]} -function game_pushScene_inline__P48657_mk(s) { +function settings_readNumber__P2068_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_pushScene_inline__P48657, depth: s.depth + 1, + parent: s, fn: settings_readNumber__P2068, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + buf___13145: undefined, + nums___13152: undefined, arg0: undefined, } } @@ -23390,7 +23244,7 @@ function game_pushScene_inline__P48657_mk(s) { -function particles_disableAll__P39795(s) { +function settings_readBuffer__P2065(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23400,46 +23254,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___48661 = undefined; - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1191; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.sources___48661 = (r0); - r0 = pxsim_numops_toBoolDecr(s.sources___48661); - if (!r0) { step = 1; continue; } - s.tmp_0 = helpers_arrayForEach__P37574_mk(s); - s.tmp_0.arg0 = s.sources___48661; - s.tmp_0.arg1 = particles_disableAll_inline__P48667; - s.callLocIdx = 1193; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.tmp_0 = particles_pruneParticles__P39784_mk(s); - s.callLocIdx = 1194; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - case 1: - case 2: - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -particles_disableAll__P39795.info = {"start":12370,"length":195,"line":402,"column":4,"endLine":408,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"disableAll","argumentNames":[]} + 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__P2065.info = {"start":2694,"length":72,"line":103,"column":4,"endLine":105,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readBuffer","argumentNames":["key"]} -function particles_disableAll__P39795_mk(s) { +function settings_readBuffer__P2065_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_disableAll__P39795, depth: s.depth + 1, + parent: s, fn: settings_readBuffer__P2065, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - sources___48661: undefined, + arg0: undefined, } } -function particles_disableAll_inline__P48667(s) { +function msgpack_unpackNumberArray__P183(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23449,36 +23286,120 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.res___13165 = undefined; + s.fmt___13172 = undefined; + s.v___13181 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = particles_ParticleSource_enabled__P39769_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = false; - s.callLocIdx = 1192; s.pc = 1; return s.tmp_0; + r0 = pxsim_Array__mk(); + s.res___13165 = (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__P4358_mk(s); + r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3); + s.tmp_4.arg0 = r0; + s.callLocIdx = 20; s.pc = 12; return s.tmp_4; + case 12: r0 = s.retval; - r0 = false; + s.fmt___13172 = (r0); + r0 = (s.fmt___13172 === 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___13181 = (r0); + r0 = (-31 <= s.v___13181); + 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___13181 <= 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___13165, s.v___13181); + { step = 5; continue; } + case 4: + r0 = null; + { step = 11; continue; } + case 5: + { step = 7; continue; } + case 6: + s.tmp_0 = r0 = s.res___13165; + r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___13172, 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___13172; + s.callLocIdx = 21; 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___13165; + case 11: return leave(s, r0) default: oops() } } } -particles_disableAll_inline__P48667.info = {"start":12495,"length":22,"line":405,"column":28,"endLine":405,"endColumn":50,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} +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 particles_disableAll_inline__P48667_mk(s) { +function msgpack_unpackNumberArray__P183_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_disableAll_inline__P48667, depth: s.depth + 1, + 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___13165: undefined, + fmt___13172: undefined, + v___13181: undefined, arg0: undefined, + arg1: undefined, } } -function particles_clearAll__P39794(s) { +function scene_systemMenu_initVolume__P5189(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23488,46 +23409,45 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___48672 = undefined; - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1187; s.pc = 3; return s.tmp_0; + s.vol___13226 = undefined; + s.tmp_0 = settings_readNumber__P2068_mk(s); + s.tmp_0.arg0 = "#volume"; + s.callLocIdx = 1115; s.pc = 3; return s.tmp_0; case 3: r0 = s.retval; - s.sources___48672 = (r0); - r0 = pxsim_numops_toBoolDecr(s.sources___48672); + s.vol___13226 = (r0); + r0 = (s.vol___13226 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - s.tmp_0 = helpers_arrayForEach__P37574_mk(s); - s.tmp_0.arg0 = s.sources___48672; - s.tmp_0.arg1 = particles_clearAll_inline__P48678; - s.callLocIdx = 1189; s.pc = 4; return s.tmp_0; + s.tmp_1 = music_setVolume__P1620_mk(s); + s.tmp_1.arg0 = s.vol___13226; + s.callLocIdx = 1116; s.pc = 4; return s.tmp_1; case 4: r0 = s.retval; - s.tmp_0 = particles_pruneParticles__P39784_mk(s); - s.callLocIdx = 1190; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; case 1: case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -particles_clearAll__P39794.info = {"start":12098,"length":185,"line":391,"column":4,"endLine":397,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"clearAll","argumentNames":[]} +scene_systemMenu_initVolume__P5189.info = {"start":13238,"length":144,"line":399,"column":4,"endLine":403,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initVolume","argumentNames":[]} -function particles_clearAll__P39794_mk(s) { +function scene_systemMenu_initVolume__P5189_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_clearAll__P39794, depth: s.depth + 1, + parent: s, fn: scene_systemMenu_initVolume__P5189, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - sources___48672: undefined, + tmp_1: undefined, + vol___13226: undefined, } } -function particles_clearAll_inline__P48678(s) { +function game_GameOverConfig_constructor__P2987(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23541,21 +23461,23 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = particles_ParticleSource_clear__P39771_mk(s); + r0 = s.arg0; + if (!checkSubtype(r0, game_GameOverConfig__C2972_VT)) failedCast(r0); + s.tmp_0 = game_GameOverConfig_init__P2988_mk(s); s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1188; s.pc = 1; return s.tmp_0; + s.callLocIdx = 938; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -particles_clearAll_inline__P48678.info = {"start":12221,"length":14,"line":394,"column":28,"endLine":394,"endColumn":42,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} +game_GameOverConfig_constructor__P2987.info = {"start":893,"length":50,"line":35,"column":8,"endLine":37,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["this"]} -function particles_clearAll_inline__P48678_mk(s) { +function game_GameOverConfig_constructor__P2987_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_clearAll_inline__P48678, depth: s.depth + 1, + parent: s, fn: game_GameOverConfig_constructor__P2987, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -23565,7 +23487,7 @@ function particles_clearAll_inline__P48678_mk(s) { -function particles_ParticleSource_clear__P39771(s) { +function game_GameOverConfig_init__P2988(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23580,19 +23502,49 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_VT)) failedCast(r0); - r0 = (s.arg0).fields["head"] = (undefined); + if (!checkSubtype(r0, game_GameOverConfig__C2972_VT)) failedCast(r0); + r0 = (s.arg0).fields["scoringType"] = (0); + r0 = (s.arg0).fields["winEffect"] = (globals.confetti___3273); + r0 = (s.arg0).fields["loseEffect"] = (globals.melt___3295); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = music_melodyPlayable__P1923_mk(s); + s.tmp_2.arg0 = globals.powerUp___1650; + s.callLocIdx = 939; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["winSound"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = music_melodyPlayable__P1923_mk(s); + s.tmp_2.arg0 = globals.wawawawaa___1647; + s.callLocIdx = 940; s.pc = 2; return s.tmp_2; + case 2: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["loseSound"] = (s.tmp_1); + r0 = (s.arg0).fields["winSoundLooping"] = (false); + r0 = (s.arg0).fields["loseSoundLooping"] = (false); + r0 = (s.arg0).fields["winMessage"] = ("YOU WIN!"); + r0 = (s.arg0).fields["winMessageMultiplayer"] = ("${WINNER} WINS!"); + r0 = (s.arg0).fields["loseMessage"] = ("GAME OVER"); + r0 = (s.arg0).fields["effectSetByUser"] = (false); + r0 = (s.arg0).fields["soundSetByUser"] = (false); + r0 = (s.arg0).fields["messageSetByUser"] = (false); + r0 = (s.arg0).fields["scoringTypeSetByUser"] = (false); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleSource_clear__P39771.info = {"start":7424,"length":54,"line":243,"column":8,"endLine":245,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"clear","argumentNames":["this"]} +game_GameOverConfig_init__P2988.info = {"start":953,"length":701,"line":39,"column":8,"endLine":54,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["this"]} -function particles_ParticleSource_clear__P39771_mk(s) { +function game_GameOverConfig_init__P2988_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_clear__P39771, depth: s.depth + 1, + parent: s, fn: game_GameOverConfig_init__P2988, 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, } } @@ -23600,7 +23552,7 @@ function particles_ParticleSource_clear__P39771_mk(s) { -function controller_Button_onEvent__P38564(s) { +function melt_inline__P13289(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23610,46 +23562,96 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.eventHandler___48690 = undefined; + s.rounds___13292 = undefined; + s.j___13300 = undefined; + s.x___13305 = undefined; + s.y___13311 = undefined; + s.c___13317 = 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__C38558_VT)) failedCast(r0); - s.tmp_0 = controller_Button_getOrCreateHandlerForEvent__P38573_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 203; s.pc = 1; return s.tmp_0; + 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___13292 = (r0); + s.j___13300 = (0); case 1: + r0 = (s.j___13300 < s.rounds___13292); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 0; + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1.arg2 = r0; + s.callLocIdx = 58; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.x___13305 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 0; + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 3); + s.tmp_0.arg2 = r0; + s.callLocIdx = 59; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; - s.eventHandler___48690 = (r0); - r0 = (s.eventHandler___48690).fields["callback"] = (s.arg2); + s.y___13311 = (r0); + r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___13305, s.y___13311); + s.c___13317 = (r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.x___13305; + r0 = (s.y___13311 + 1); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___13317); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.x___13305; + r0 = (s.y___13311 + 2); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___13317); + r0 = (s.j___13300 + 1); + s.j___13300 = (r0); + { step = 1; continue; } + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Button_onEvent__P38564.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"]} +melt_inline__P13289.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 controller_Button_onEvent__P38564_mk(s) { +function melt_inline__P13289_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_onEvent__P38564, depth: s.depth + 1, + parent: s, fn: melt_inline__P13289, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - eventHandler___48690: undefined, + tmp_1: undefined, + tmp_2: undefined, + rounds___13292: undefined, + j___13300: undefined, + x___13305: undefined, + y___13311: undefined, + c___13317: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function controller_Button_getOrCreateHandlerForEvent__P38573(s) { +function confetti_inline__P13343(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23659,132 +23661,81 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.handlerState___48711 = undefined; - s.eventHandler___48721 = undefined; - s.unnamed252___U2 = undefined; - s.unnamed253___U3 = undefined; - s.newHandler___48737 = undefined; + s.factory___13346 = 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__C38558_VT)) failedCast(r0); - s.tmp_3 = controller_Button_handlerState__P38559_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 213; s.pc = 10; return s.tmp_3; - case 10: + r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C3217_VT); + s.tmp_0 = r0; + s.tmp_2 = if_width_1_mk(s); + s.tmp_2.arg0 = s.arg0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "width"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["width"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["width"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 46; s.pc = 3; return s.tmp_2; } + } + case 3: r0 = s.retval; - s.tmp_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); + r0 = pxsim_numops_toBoolDecr(s.tmp_1); if (!r0) { step = 1; continue; } - r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonEventHandlerState__C38591_VT); - s.tmp_4 = r0; - s.tmp_5 = controller_ButtonEventHandlerState_constructor__P38592_mk(s); - s.tmp_5.arg0 = s.tmp_4; - r0 = s.arg0.fields["id"]; - s.tmp_5.arg1 = r0; - s.callLocIdx = 215; s.pc = 11; return s.tmp_5; - case 11: - r0 = s.retval; - s.tmp_7 = game_currentScene__P38454_mk(s); - s.callLocIdx = 214; s.pc = 12; return s.tmp_7; - case 12: + s.tmp_3 = if_width_1_mk(s); + s.tmp_3.arg0 = s.arg0; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "width"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["width"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["width"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 47; s.pc = 4; return s.tmp_3; } + } + case 4: r0 = s.retval; - r0 = r0.fields["buttonEventHandlers"]; - s.tmp_6 = r0; - r0 = pxsim_Array__push(s.tmp_6, s.tmp_4); + { step = 2; continue; } case 1: + r0 = 16; case 2: - s.tmp_0 = controller_Button_handlerState__P38559_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 216; s.pc = 13; return s.tmp_0; - case 13: - r0 = s.retval; - s.handlerState___48711 = (r0); - r0 = s.handlerState___48711.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___48711; - r0 = pxsim_Array__mk(); + // jmp value (already in r0) s.tmp_4 = r0; - r0 = (s.tmp_3).fields["user"] = (s.tmp_4); - case 3: - case 4: - s.eventHandler___48721 = (undefined); - r0 = s.handlerState___48711.fields["user"]; - s.unnamed252___U2 = (r0); - s.unnamed253___U3 = (0); + s.tmp_5 = particles_ConfettiFactory_constructor__P3218_mk(s); + s.tmp_5.arg0 = s.tmp_0; + s.tmp_5.arg1 = s.tmp_4; + s.tmp_5.arg2 = 16; + s.callLocIdx = 48; s.pc = 5; return s.tmp_5; case 5: - s.tmp_0 = r0 = s.unnamed253___U3; - r0 = pxsim_Array__length(s.unnamed252___U2); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 8; continue; } - r0 = pxsim_Array__getAt(s.unnamed252___U2, s.unnamed253___U3); - s.eventHandler___48721 = (r0); - r0 = s.eventHandler___48721.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___48721; - { step = 9; continue; } + r0 = s.retval; + s.factory___13346 = (s.tmp_0); + s.tmp_0 = particles_SprayFactory_setSpeed__P3194_mk(s); + s.tmp_0.arg0 = s.factory___13346; + s.tmp_0.arg1 = 30; + s.callLocIdx = 49; s.pc = 6; return s.tmp_0; case 6: - case 7: - r0 = (s.unnamed253___U3 + 1); - s.unnamed253___U3 = (r0); - { step = 5; continue; } - case 8: - s.unnamed252___U2 = (undefined); - r0 = pxsim_pxtcore_mkAction(2, controller_Button_getOrCreateHandlerForEvent_inline__P48734); - 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__P37806_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 = 218; s.pc = 14; return s.tmp_5; - case 14: r0 = s.retval; - r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonHandler__C38589_VT); + r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C3150_VT); s.tmp_0 = r0; - s.tmp_1 = controller_ButtonHandler_constructor__P38590_mk(s); + s.tmp_1 = particles_ParticleSource_constructor__P3155_mk(s); s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = s.arg1; - s.tmp_1.arg2 = undefined; - s.callLocIdx = 219; s.pc = 15; return s.tmp_1; - case 15: + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.arg1; + s.tmp_1.arg3 = s.factory___13346; + s.callLocIdx = 50; s.pc = 7; return s.tmp_1; + case 7: r0 = s.retval; - s.newHandler___48737 = (s.tmp_0); - r0 = s.handlerState___48711.fields["user"]; - s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.newHandler___48737); - r0 = s.newHandler___48737; - case 9: + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -controller_Button_getOrCreateHandlerForEvent__P38573.info = {"start":8550,"length":829,"line":250,"column":8,"endLine":270,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"getOrCreateHandlerForEvent","argumentNames":["this","event"]} +confetti_inline__P13343.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 controller_Button_getOrCreateHandlerForEvent__P38573_mk(s) { +function confetti_inline__P13343_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_getOrCreateHandlerForEvent__P38573, depth: s.depth + 1, + parent: s, fn: confetti_inline__P13343, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -23792,13 +23743,7 @@ function controller_Button_getOrCreateHandlerForEvent__P38573_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - handlerState___48711: undefined, - eventHandler___48721: undefined, - unnamed252___U2: undefined, - unnamed253___U3: undefined, - newHandler___48737: undefined, + factory___13346: undefined, arg0: undefined, arg1: undefined, } } @@ -23807,41 +23752,7 @@ function controller_Button_getOrCreateHandlerForEvent__P38573_mk(s) { -function controller_Button_getOrCreateHandlerForEvent_inline__P48734(s) { -let r0 = s.r0, step = 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__P38572_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = s.caps[1]; - s.callLocIdx = 217; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -controller_Button_getOrCreateHandlerForEvent_inline__P48734.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__P48734_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: controller_Button_getOrCreateHandlerForEvent_inline__P48734, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, -} } - - - - - -function controller_ButtonEventHandlerState_constructor__P38592(s) { +function particles_ParticleSource_constructor__P3155(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23851,34 +23762,130 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.sources___13367 = undefined; + s.removedSource___13376 = 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_ButtonEventHandlerState__C38591_VT)) failedCast(r0); - r0 = (s.arg0).fields["id"] = (s.arg1); + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_constructor__P2096_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 1137; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = particles_init__P5266_mk(s); + s.callLocIdx = 1138; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1139; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.sources___13367 = (r0); + r0 = pxsim_Array__length(s.sources___13367); + s.tmp_1 = r0; + r0 = (s.tmp_1 >= globals.MAX_SOURCES___5258); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = particles_sortSources__P5269_mk(s); + s.tmp_2.arg0 = s.sources___13367; + s.callLocIdx = 1140; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + r0 = pxsim_Array_.removeAt(s.sources___13367, 0); + s.removedSource___13376 = (r0); + s.tmp_0 = particles_ParticleSource_clear__P3165_mk(s); + s.tmp_0.arg0 = s.removedSource___13376; + s.callLocIdx = 1142; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_destroy__P3164_mk(s); + s.tmp_0.arg0 = s.removedSource___13376; + s.callLocIdx = 1143; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + case 1: + case 2: + r0 = (s.arg0).fields["pFlags"] = (0); + s.tmp_0 = particles_ParticleSource_setRate__P3167_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 1144; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_setAcceleration__P3159_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 0; + s.callLocIdx = 1145; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_setAnchor__P3166_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1146; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = (s.arg0).fields["lifespan"] = (undefined); + r0 = (s.arg0).fields["_dt"] = (0); + r0 = (s.arg0).fields["priority"] = (0); + s.tmp_0 = r0 = s.arg3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = globals.defaultFactory___3170; + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + s.tmp_2 = particles_ParticleSource_setFactory__P3169_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 1147; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + r0 = pxsim_Array__push(s.sources___13367, s.arg0); + s.tmp_0 = particles_ParticleSource_enabled__P3163_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = true; + s.callLocIdx = 1148; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -controller_ButtonEventHandlerState_constructor__P38592.info = {"start":1122,"length":33,"line":48,"column":8,"endLine":48,"endColumn":41,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":["this","id"]} +particles_ParticleSource_constructor__P3155.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 controller_ButtonEventHandlerState_constructor__P38592_mk(s) { +function particles_ParticleSource_constructor__P3155_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_ButtonEventHandlerState_constructor__P38592, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_constructor__P3155, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + sources___13367: undefined, + removedSource___13376: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function controller_ButtonHandler_constructor__P38590(s) { +function particles_sortSources__P5269(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23890,35 +23897,34 @@ switch (step) { 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__C38589_VT)) failedCast(r0); - r0 = (s.arg0).fields["event"] = (s.arg1); - r0 = (s.arg0).fields["callback"] = (s.arg2); + s.tmp_0 = helpers_arraySort__P105_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = particles_sortSources_inline__P13574; + s.callLocIdx = 1186; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -controller_ButtonHandler_constructor__P38590.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"]} +particles_sortSources__P5269.info = {"start":10026,"length":129,"line":332,"column":4,"endLine":334,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"sortSources","argumentNames":["sources"]} -function controller_ButtonHandler_constructor__P38590_mk(s) { +function particles_sortSources__P5269_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_ButtonHandler_constructor__P38590, depth: s.depth + 1, + parent: s, fn: particles_sortSources__P5269, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function controller_Button_runButtonEvents__P38572(s) { +function particles_sortSources_inline__P13574(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -23928,123 +23934,40 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.handlerState___48751 = undefined; - s.userHandler___48755 = undefined; - s.eventHandler___48767 = undefined; - s.unnamed250___U3 = undefined; - s.unnamed251___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__C38558_VT)) failedCast(r0); - s.tmp_0 = controller_Button_handlerState__P38559_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 209; s.pc = 14; return s.tmp_0; - case 14: - r0 = s.retval; - s.handlerState___48751 = (r0); - r0 = pxsim_numops_toBoolDecr(s.handlerState___48751); + r0 = s.arg0.fields["priority"]; s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = s.arg1.fields["priority"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - { step = 13; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: - case 2: - s.tmp_2 = controller_Button_getOrCreateHandlerForEvent__P38573_mk(s); - s.tmp_2.arg0 = s.arg0; - s.tmp_2.arg1 = s.arg1; - s.callLocIdx = 210; s.pc = 15; return s.tmp_2; - case 15: - r0 = s.retval; - s.userHandler___48755 = (r0); - r0 = s.userHandler___48755.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___48755; - if (!s.tmp_1.arg0.vtable.iface) { - setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "callback"), 1); - s.callLocIdx = 211; 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 = 211; s.pc = 16; return s.tmp_1; } - else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 211; s.pc = 16; return s.tmp_1;; } - else { s.callLocIdx = 211; s.pc = 16; return s.tmp_1; } - } - case 16: - r0 = s.retval; - case 3: - case 4: - r0 = s.handlerState___48751.fields["system"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 11; continue; } - s.eventHandler___48767 = (undefined); - r0 = s.handlerState___48751.fields["system"]; - s.unnamed250___U3 = (r0); - s.unnamed251___U4 = (0); - case 5: - s.tmp_0 = r0 = s.unnamed251___U4; - r0 = pxsim_Array__length(s.unnamed250___U3); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 10; continue; } - r0 = pxsim_Array__getAt(s.unnamed250___U3, s.unnamed251___U4); - s.eventHandler___48767 = (r0); - r0 = s.eventHandler___48767.fields["event"]; + r0 = s.arg0.fields["id"]; 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___48767.fields["callback"]; - case 7: - // jmp value (already in r0) + r0 = s.arg1.fields["id"]; 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___48767; - if (!s.tmp_5.arg0.vtable.iface) { - setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "callback"), 1); - s.callLocIdx = 212; 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 = 212; s.pc = 17; return s.tmp_5; } - else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 212; s.pc = 17; return s.tmp_5;; } - else { s.callLocIdx = 212; s.pc = 17; return s.tmp_5; } - } - case 17: - r0 = s.retval; - case 8: - case 9: - r0 = (s.unnamed251___U4 + 1); - s.unnamed251___U4 = (r0); - { step = 5; continue; } - case 10: - s.unnamed250___U3 = (undefined); - case 11: - case 12: - case 13: - r0 = undefined; + 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() } } } -controller_Button_runButtonEvents__P38572.info = {"start":8005,"length":535,"line":236,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"runButtonEvents","argumentNames":["this","event"]} +particles_sortSources_inline__P13574.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 controller_Button_runButtonEvents__P38572_mk(s) { +function particles_sortSources_inline__P13574_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_runButtonEvents__P38572, depth: s.depth + 1, + parent: s, fn: particles_sortSources_inline__P13574, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -24052,11 +23975,6 @@ function controller_Button_runButtonEvents__P38572_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - handlerState___48751: undefined, - userHandler___48755: undefined, - eventHandler___48767: undefined, - unnamed250___U3: undefined, - unnamed251___U4: undefined, arg0: undefined, arg1: undefined, } } @@ -24065,7 +23983,7 @@ function controller_Button_runButtonEvents__P38572_mk(s) { -function controller_Button_handlerState__P38559(s) { +function particles_init__P5266(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24075,77 +23993,59 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.state___48783 = undefined; - s.unnamed248___U1 = undefined; - s.unnamed249___U2 = undefined; - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Button__C38558_VT)) failedCast(r0); - s.state___48783 = (undefined); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 199; s.pc = 6; return s.tmp_0; - case 6: + s.scene___13613 = undefined; + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 1176; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; - r0 = r0.fields["buttonEventHandlers"]; - s.unnamed248___U1 = (r0); - s.unnamed249___U2 = (0); + s.scene___13613 = (r0); + r0 = s.scene___13613.fields["particleSources"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } case 1: - s.tmp_0 = r0 = s.unnamed249___U2; - r0 = pxsim_Array__length(s.unnamed248___U1); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 4; continue; } - r0 = pxsim_Array__getAt(s.unnamed248___U1, s.unnamed249___U2); - s.state___48783 = (r0); - r0 = s.state___48783.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___48783; - { step = 5; continue; } case 2: + s.tmp_1 = r0 = s.scene___13613; + r0 = pxsim_Array__mk(); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2); + r0 = pxsim.control.millis(); + globals.lastUpdate___5261 = (r0); + s.tmp_0 = game_onUpdate__P3022_mk(s); + s.tmp_0.arg0 = particles_updateParticles__P5267; + s.callLocIdx = 1177; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = game_onUpdateInterval__P3023_mk(s); + s.tmp_0.arg0 = 250; + s.tmp_0.arg1 = particles_pruneParticles__P5268; + s.callLocIdx = 1178; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; case 3: - r0 = (s.unnamed249___U2 + 1); - s.unnamed249___U2 = (r0); - { step = 1; continue; } - case 4: - s.unnamed248___U1 = (undefined); r0 = undefined; - case 5: - return leaveAccessor(s, r0) + return leave(s, r0) default: oops() } } } -controller_Button_handlerState__P38559.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__P38559.isGetter = true; +particles_init__P5266.info = {"start":9236,"length":276,"line":304,"column":4,"endLine":311,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"init","argumentNames":[]} -function controller_Button_handlerState__P38559_mk(s) { +function particles_init__P5266_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_handlerState__P38559, depth: s.depth + 1, + parent: s, fn: particles_init__P5266, depth: s.depth + 1, pc: 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___48783: undefined, - unnamed248___U1: undefined, - unnamed249___U2: undefined, - arg0: undefined, + scene___13613: undefined, } } -function scene_systemMenu_initScreen__P39668(s) { +function particles_updateParticles__P5267(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24155,46 +24055,81 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.brightness___48795 = undefined; - s.tmp_0 = settings_readNumber__P38369_mk(s); - s.tmp_0.arg0 = "#brightness"; - s.callLocIdx = 1117; s.pc = 3; return s.tmp_0; - case 3: + s.sources___13655 = undefined; + s.time___13662 = undefined; + s.dt___13665 = undefined; + s.i___13671 = undefined; + s.tmp_0 = particles_particleSources__P5272_mk(s); + s.callLocIdx = 1179; s.pc = 6; return s.tmp_0; + case 6: r0 = s.retval; - s.brightness___48795 = (r0); - r0 = (s.brightness___48795 !== undefined); + s.sources___13655 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___13655); + 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_1 = helpers_setScreenBrightness__P38271_mk(s); - s.tmp_1.arg0 = globals.screen___38324; - s.tmp_1.arg1 = s.brightness___48795; - s.callLocIdx = 1118; s.pc = 4; return s.tmp_1; - case 4: - r0 = s.retval; + { step = 5; continue; } case 1: case 2: + s.tmp_2 = particles_sortSources__P5269_mk(s); + s.tmp_2.arg0 = s.sources___13655; + s.callLocIdx = 1180; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim.control.millis(); + s.time___13662 = (r0); + r0 = (s.time___13662 - globals.lastUpdate___5261); + s.dt___13665 = (r0); + globals.lastUpdate___5261 = (s.time___13662); + s.i___13671 = (0); + case 3: + s.tmp_1 = r0 = s.i___13671; + r0 = pxsim_Array__length(s.sources___13655); + 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__P3157_mk(s); + r0 = pxsim_Array__getAt(s.sources___13655, s.i___13671); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.dt___13665; + s.callLocIdx = 1181; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + r0 = (s.i___13671 + 1); + s.i___13671 = (r0); + { step = 3; continue; } + case 4: + case 5: r0 = undefined; return leave(s, r0) default: oops() } } } -scene_systemMenu_initScreen__P39668.info = {"start":13388,"length":175,"line":405,"column":4,"endLine":409,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initScreen","argumentNames":[]} +particles_updateParticles__P5267.info = {"start":9518,"length":340,"line":313,"column":4,"endLine":325,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticles","argumentNames":[]} -function scene_systemMenu_initScreen__P39668_mk(s) { +function particles_updateParticles__P5267_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_initScreen__P39668, depth: s.depth + 1, + parent: s, fn: particles_updateParticles__P5267, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - brightness___48795: undefined, + tmp_2: undefined, + tmp_3: undefined, + sources___13655: undefined, + time___13662: undefined, + dt___13665: undefined, + i___13671: undefined, } } -function settings_readNumber__P38369(s) { +function particles_ParticleSource__update__P3157(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24204,77 +24139,360 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.buf___48806 = undefined; - s.nums___48813 = undefined; + s.p___13734 = undefined; + s.current___13753 = undefined; + s.fixedDt___13761 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim.settings._get(s.arg0); - s.buf___48806 = (r0); - r0 = pxsim_numops_toBoolDecr(s.buf___48806); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_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 = pxsim_Boolean__bang(s.tmp_1); + 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 = undefined; - { step = 7; continue; } - { step = 6; continue; } - case 1: - s.tmp_2 = msgpack_unpackNumberArray__P37658_mk(s); - s.tmp_2.arg0 = s.buf___48806; - s.tmp_2.arg1 = 0; - s.callLocIdx = 129; s.pc = 8; return s.tmp_2; - case 8: + r0 = (s.arg0).fields["lifespan"] = (undefined); + s.tmp_0 = particles_ParticleSource_destroy__P3164_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1152; s.pc = 28; return s.tmp_0; + case 28: r0 = s.retval; - s.nums___48813 = (r0); - s.tmp_0 = r0 = s.nums___48813; + 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 = 2; continue; } + if (r0) { step = 4; continue; } r0 = s.tmp_0; - { step = 3; continue; } - case 2: - r0 = pxsim_Array__length(s.nums___48813); + { step = 5; continue; } + case 4: + s.tmp_2 = if_flags_1_mk(s); + r0 = s.arg0.fields["anchor"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "flags"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["flags"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["flags"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1153; s.pc = 29; return s.tmp_2; } + } + case 29: + r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_1 >= 1); - case 3: + r0 = (s.tmp_1 !== undefined); + case 5: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (r0) { step = 6; continue; } + r0 = s.tmp_3; + { step = 7; continue; } + case 6: + s.tmp_5 = if_flags_1_mk(s); + r0 = s.arg0.fields["anchor"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "flags"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["flags"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["flags"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1154; s.pc = 30; return s.tmp_5; } + } + case 30: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 & 2); + case 7: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 8; continue; } + r0 = (s.arg0).fields["lifespan"] = (750); + case 8: + case 9: + case 10: + case 11: + r0 = s.arg0.fields["timer"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 12; continue; } + r0 = s.tmp_0; + { step = 13; continue; } + case 12: + s.tmp_2 = particles_ParticleSource_enabled__P3162_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1155; s.pc = 31; return s.tmp_2; + case 31: + r0 = s.retval; + case 13: // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 16; continue; } + s.tmp_4 = r0 = s.arg0; + r0 = s.tmp_4.fields["timer"]; + s.tmp_6 = r0; + r0 = s.arg0.fields["period"]; + s.tmp_7 = r0; + r0 = (s.tmp_6 + s.tmp_7); + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["timer"] = (s.tmp_5); + s.tmp_0 = particles_ParticleFactory__C3186_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__C3186_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___13734 = (r0); + r0 = pxsim_numops_toBoolDecr(s.p___13734); + 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___13734).fields["next"] = (s.tmp_2); + r0 = (s.arg0).fields["head"] = (s.p___13734); + { step = 11; continue; } + case 16: + r0 = s.arg0.fields["head"]; s.tmp_2 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_2); - if (!r0) { step = 4; continue; } - r0 = pxsim_Array__getAt(s.nums___48813, 0); - { step = 7; continue; } - case 4: - case 5: + 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___13753 = (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___13761 = (r0); + r0 = pxsim_numops_toBoolDecr(s.fixedDt___13761); + if (!r0) { step = 23; continue; } + case 19: + r0 = s.current___13753.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___13753; + 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__C3150_v4_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.current___13753; + s.tmp_0.arg2 = s.fixedDt___13761; + if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C3150_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___13753.fields["next"]; + s.tmp_0 = r0; + s.current___13753 = (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___13753; + 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___13753.fields["next"]; + s.tmp_0 = r0; + s.current___13753 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 25; continue; } + { step = 24; continue; } + case 25: + case 26: + case 27: r0 = undefined; - { step = 7; continue; } - case 6: + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource__update__P3157.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__P3157_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource__update__P3157, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___13734: undefined, + current___13753: undefined, + fixedDt___13761: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_updateParticle__P5263(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__C3150_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; - case 7: return leave(s, r0) default: oops() } } } -settings_readNumber__P38369.info = {"start":3283,"length":313,"line":131,"column":4,"endLine":141,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readNumber","argumentNames":["key"]} +particles_ParticleSource_updateParticle__P5263.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 settings_readNumber__P38369_mk(s) { +function particles_ParticleSource_updateParticle__P5263_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_readNumber__P38369, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_updateParticle__P5263, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - buf___48806: undefined, - nums___48813: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function settings_readBuffer__P38366(s) { +function Fx_rightShift__P171(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24286,27 +24504,29 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim.settings._get(s.arg0); + r0 = (s.arg0 >> s.arg1); return leave(s, r0) default: oops() } } } -settings_readBuffer__P38366.info = {"start":2694,"length":72,"line":103,"column":4,"endLine":105,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readBuffer","argumentNames":["key"]} +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 settings_readBuffer__P38366_mk(s) { +function Fx_rightShift__P171_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_readBuffer__P38366, depth: s.depth + 1, + 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 msgpack_unpackNumberArray__P37658(s) { +function particles_ParticleFactory_createParticle__P3188(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24316,111 +24536,151 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.res___48826 = undefined; - s.fmt___48833 = undefined; - s.v___48842 = undefined; + s.p___13844 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_Array__mk(); - s.res___48826 = (r0); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleFactory__C3186_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C3131_VT); + s.p___13844 = (r0); + s.tmp_0 = r0 = s.p___13844; + s.tmp_3 = if_x_1_mk(s); + s.tmp_3.arg0 = s.arg1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "x"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["x"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["x"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1206; s.pc = 1; return s.tmp_3; } + } case 1: - s.tmp_1 = r0 = s.arg1; - r0 = pxsim.BufferMethods.length(s.arg0); + 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 = 10; continue; } - s.tmp_3 = r0 = s.arg1; - r0 = (s.tmp_3 + 1); - s.arg1 = (r0); - s.tmp_4 = msgpack_tagFormat__P37656_mk(s); - r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3); - s.tmp_4.arg0 = r0; - s.callLocIdx = 20; s.pc = 12; return s.tmp_4; - case 12: + 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___13844; + s.tmp_3 = if_y_1_mk(s); + s.tmp_3.arg0 = s.arg1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "y"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["y"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["y"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1208; s.pc = 2; return s.tmp_3; } + } + case 2: r0 = s.retval; - s.fmt___48833 = (r0); - r0 = (s.fmt___48833 === 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___48842 = (r0); - r0 = (-31 <= s.v___48842); + 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___13844).fields["vx"] = (0); + r0 = (s.p___13844).fields["vy"] = (0); + r0 = (s.p___13844).fields["lifespan"] = (500); + r0 = s.p___13844; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_createParticle__P3188.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__P3188_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_createParticle__P3188, depth: s.depth + 1, + pc: 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___13844: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_onUpdateInterval__P3023(s) { +let r0 = s.r0, step = 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___13635 = 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 = 2; continue; } + if (!r0) { step = 1; continue; } r0 = s.tmp_0; - { step = 3; continue; } + { step = 2; continue; } + case 1: + r0 = (s.arg0 < 0); case 2: - r0 = (s.v___48842 <= 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___48826, s.v___48842); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } { step = 5; continue; } + case 3: case 4: - r0 = null; - { step = 11; continue; } - case 5: - { step = 7; continue; } + r0 = pxsim_pxtrt.mklocRef(); + s.timer___13635 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.timer___13635, 0); + r0 = pxsim_pxtcore_mkAction(3, game_onUpdateInterval_inline__P13639); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___13635); + 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__P3001_mk(s); + s.callLocIdx = 963; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 19; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 967; s.pc = 6; return s.tmp_1; case 6: - s.tmp_0 = r0 = s.res___48826; - r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___48833, 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__P37649_mk(s); - s.tmp_2.arg0 = s.fmt___48833; - s.callLocIdx = 21; 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___48826; - case 11: + case 5: + r0 = undefined; return leave(s, r0) default: oops() } } } -msgpack_unpackNumberArray__P37658.info = {"start":2650,"length":669,"line":91,"column":4,"endLine":111,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"unpackNumberArray","argumentNames":["buf","offset"]} +game_onUpdateInterval__P3023.info = {"start":813,"length":401,"line":26,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdateInterval","argumentNames":["period","a"]} -function msgpack_unpackNumberArray__P37658_mk(s) { +function game_onUpdateInterval__P3023_mk(s) { checkStack(s.depth); return { - parent: s, fn: msgpack_unpackNumberArray__P37658, depth: s.depth + 1, + parent: s, fn: game_onUpdateInterval__P3023, depth: s.depth + 1, pc: 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___48826: undefined, - fmt___48833: undefined, - v___48842: undefined, + timer___13635: undefined, arg0: undefined, arg1: undefined, } } @@ -24429,7 +24689,7 @@ function msgpack_unpackNumberArray__P37658_mk(s) { -function scene_systemMenu_initVolume__P39667(s) { +function game_onUpdateInterval_inline__P13639(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24439,20 +24699,28 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.vol___48887 = undefined; - s.tmp_0 = settings_readNumber__P38369_mk(s); - s.tmp_0.arg0 = "#volume"; - s.callLocIdx = 1115; s.pc = 3; return s.tmp_0; + s.time___13640 = undefined; + s.tmp_1 = game_currentScene__P2998_mk(s); + s.callLocIdx = 964; s.pc = 3; return s.tmp_1; case 3: r0 = s.retval; - s.vol___48887 = (r0); - r0 = (s.vol___48887 !== undefined); + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_millis"]; + s.time___13640 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.time___13640); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - s.tmp_1 = music_setVolume__P37963_mk(s); - s.tmp_1.arg0 = s.vol___48887; - s.callLocIdx = 1116; s.pc = 4; return s.tmp_1; + s.tmp_2 = r0 = s.caps[0]; + r0 = (s.time___13640 + s.caps[1]); + s.tmp_3 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.caps[2]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 966; s.pc = 4; return s.tmp_0; case 4: r0 = s.retval; case 1: @@ -24461,23 +24729,25 @@ switch (step) { return leave(s, r0) default: oops() } } } -scene_systemMenu_initVolume__P39667.info = {"start":13238,"length":144,"line":399,"column":4,"endLine":403,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initVolume","argumentNames":[]} +game_onUpdateInterval_inline__P13639.info = {"start":1027,"length":179,"line":29,"column":81,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/gameutil.ts","functionName":"inline","argumentNames":[]} -function scene_systemMenu_initVolume__P39667_mk(s) { +function game_onUpdateInterval_inline__P13639_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_systemMenu_initVolume__P39667, depth: s.depth + 1, + parent: s, fn: game_onUpdateInterval_inline__P13639, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - vol___48887: undefined, + tmp_2: undefined, + tmp_3: undefined, + time___13640: undefined, } } -function game_GameOverConfig_constructor__P39321(s) { +function scene_Scene_millis__P2868(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24492,24 +24762,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, game_GameOverConfig__C39311_VT)) failedCast(r0); - s.tmp_0 = game_GameOverConfig_init__P39312_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 938; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + if (!checkSubtype(r0, scene_Scene__C2842_VT)) failedCast(r0); + r0 = s.arg0.fields["_millis"]; return leave(s, r0) default: oops() } } } -game_GameOverConfig_constructor__P39321.info = {"start":893,"length":50,"line":35,"column":8,"endLine":37,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["this"]} +scene_Scene_millis__P2868.info = {"start":7147,"length":61,"line":196,"column":8,"endLine":198,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"millis","argumentNames":["this"]} -function game_GameOverConfig_constructor__P39321_mk(s) { +function scene_Scene_millis__P2868_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_GameOverConfig_constructor__P39321, depth: s.depth + 1, + parent: s, fn: scene_Scene_millis__P2868, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, } } @@ -24517,7 +24781,7 @@ function game_GameOverConfig_constructor__P39321_mk(s) { -function game_GameOverConfig_init__P39312(s) { +function game_onUpdate__P3022(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24531,50 +24795,42 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, game_GameOverConfig__C39311_VT)) failedCast(r0); - r0 = (s.arg0).fields["scoringType"] = (0); - r0 = (s.arg0).fields["winEffect"] = (globals.confetti___39911); - r0 = (s.arg0).fields["loseEffect"] = (globals.melt___39948); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = music_melodyPlayable__P38229_mk(s); - s.tmp_2.arg0 = globals.powerUp___38003; - s.callLocIdx = 939; s.pc = 1; return s.tmp_2; - case 1: - r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg0); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["winSound"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = music_melodyPlayable__P38229_mk(s); - s.tmp_2.arg0 = globals.wawawawaa___37997; - s.callLocIdx = 940; s.pc = 2; return s.tmp_2; + 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__P3001_mk(s); + s.callLocIdx = 961; s.pc = 5; return s.tmp_3; + case 5: r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["loseSound"] = (s.tmp_1); - r0 = (s.arg0).fields["winSoundLooping"] = (false); - r0 = (s.arg0).fields["loseSoundLooping"] = (false); - r0 = (s.arg0).fields["winMessage"] = ("YOU WIN!"); - r0 = (s.arg0).fields["winMessageMultiplayer"] = ("${WINNER} WINS!"); - r0 = (s.arg0).fields["loseMessage"] = ("GAME OVER"); - r0 = (s.arg0).fields["effectSetByUser"] = (false); - r0 = (s.arg0).fields["soundSetByUser"] = (false); - r0 = (s.arg0).fields["messageSetByUser"] = (false); - r0 = (s.arg0).fields["scoringTypeSetByUser"] = (false); + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 20; + s.tmp_2.arg2 = s.arg0; + s.callLocIdx = 962; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + case 3: r0 = undefined; return leave(s, r0) default: oops() } } } -game_GameOverConfig_init__P39312.info = {"start":953,"length":701,"line":39,"column":8,"endLine":54,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["this"]} +game_onUpdate__P3022.info = {"start":327,"length":153,"line":13,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdate","argumentNames":["a"]} -function game_GameOverConfig_init__P39312_mk(s) { +function game_onUpdate__P3022_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_GameOverConfig_init__P39312, depth: s.depth + 1, + parent: s, fn: game_onUpdate__P3022, depth: s.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, } } @@ -24582,7 +24838,7 @@ function game_GameOverConfig_init__P39312_mk(s) { -function melt_inline__P48966(s) { +function MAX_SOURCES_inline__P13589(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24592,96 +24848,54 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.rounds___48969 = undefined; - s.j___48977 = undefined; - s.x___48982 = undefined; - s.y___48988 = undefined; - s.c___48994 = 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___48969 = (r0); - s.j___48977 = (0); - case 1: - r0 = (s.j___48977 < s.rounds___48969); + s.sz___13590 = undefined; + s.tmp_0 = control_ramSize__P346_mk(s); + s.callLocIdx = 42; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.sz___13590 = (r0); + r0 = (s.sz___13590 <= 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___13590 <= 204800); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); if (!r0) { step = 2; continue; } - s.tmp_1 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_1.arg0 = s.arg1; - s.tmp_1.arg1 = 0; - r0 = pxsim_ImageMethods.width(s.arg0); - s.tmp_2 = r0; - r0 = (s.tmp_2 - 1); - s.tmp_1.arg2 = r0; - s.callLocIdx = 58; s.pc = 3; return s.tmp_1; + r0 = 16; + { step = 5; continue; } + { step = 3; continue; } + case 2: + r0 = 50; + { step = 5; continue; } case 3: - r0 = s.retval; - s.x___48982 = (r0); - s.tmp_0 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_0.arg0 = s.arg1; - s.tmp_0.arg1 = 0; - r0 = pxsim_ImageMethods.height(s.arg0); - s.tmp_1 = r0; - r0 = (s.tmp_1 - 3); - s.tmp_0.arg2 = r0; - s.callLocIdx = 59; s.pc = 4; return s.tmp_0; case 4: - r0 = s.retval; - s.y___48988 = (r0); - r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___48982, s.y___48988); - s.c___48994 = (r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_1 = r0 = s.x___48982; - r0 = (s.y___48988 + 1); - s.tmp_2 = r0; - r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___48994); - s.tmp_0 = r0 = s.arg0; - s.tmp_1 = r0 = s.x___48982; - r0 = (s.y___48988 + 2); - s.tmp_2 = r0; - r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___48994); - r0 = (s.j___48977 + 1); - s.j___48977 = (r0); - { step = 1; continue; } - case 2: r0 = undefined; + case 5: return leave(s, r0) default: oops() } } } -melt_inline__P48966.info = {"start":2652,"length":386,"line":72,"column":45,"endLine":81,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]} +MAX_SOURCES_inline__P13589.info = {"start":240,"length":217,"line":9,"column":25,"endLine":18,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":[]} -function melt_inline__P48966_mk(s) { +function MAX_SOURCES_inline__P13589_mk(s) { checkStack(s.depth); return { - parent: s, fn: melt_inline__P48966, depth: s.depth + 1, + parent: s, fn: MAX_SOURCES_inline__P13589, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - tmp_2: undefined, - rounds___48969: undefined, - j___48977: undefined, - x___48982: undefined, - y___48988: undefined, - c___48994: undefined, - arg0: undefined, - arg1: undefined, + sz___13590: undefined, } } -function confetti_inline__P49021(s) { +function control_ramSize__P346(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24691,98 +24905,64 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.factory___49024 = undefined; - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); - s.lambdaArgs = null; - } - r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C39847_VT); + r0 = pxsim_pxtcore.getConfig(205, 0); s.tmp_0 = r0; - s.tmp_2 = if_width_1_mk(s); - s.tmp_2.arg0 = s.arg0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "width"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["width"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["width"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 46; s.pc = 3; return s.tmp_2; } - } - case 3: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - s.tmp_3 = if_width_1_mk(s); - s.tmp_3.arg0 = s.arg0; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "width"); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["width"]; - if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["width"]; } - else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } - else { s.callLocIdx = 47; s.pc = 4; return s.tmp_3; } - } - case 4: - r0 = s.retval; + r0 = s.tmp_0; { step = 2; continue; } case 1: - r0 = 16; + r0 = 33554432; case 2: // jmp value (already in r0) - s.tmp_4 = r0; - s.tmp_5 = particles_ConfettiFactory_constructor__P39849_mk(s); - s.tmp_5.arg0 = s.tmp_0; - s.tmp_5.arg1 = s.tmp_4; - s.tmp_5.arg2 = 16; - s.callLocIdx = 48; s.pc = 5; return s.tmp_5; - case 5: - r0 = s.retval; - s.factory___49024 = (s.tmp_0); - s.tmp_0 = particles_SprayFactory_setSpeed__P39828_mk(s); - s.tmp_0.arg0 = s.factory___49024; - s.tmp_0.arg1 = 30; - s.callLocIdx = 49; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C39760_VT); - s.tmp_0 = r0; - s.tmp_1 = particles_ParticleSource_constructor__P39778_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___49024; - s.callLocIdx = 50; s.pc = 7; return s.tmp_1; - case 7: - r0 = s.retval; - r0 = s.tmp_0; + s.tmp_1 = r0; + r0 = s.tmp_1; return leave(s, r0) default: oops() } } } -confetti_inline__P49021.info = {"start":7534,"length":284,"line":191,"column":59,"endLine":195,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]} +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 confetti_inline__P49021_mk(s) { +function control_ramSize__P346_mk(s) { checkStack(s.depth); return { - parent: s, fn: confetti_inline__P49021, depth: s.depth + 1, + 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, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - tmp_5: undefined, - factory___49024: undefined, - arg0: undefined, - arg1: undefined, } } -function particles_ParticleSource_constructor__P39778(s) { +function control__ramSize__P4385(s) { +let r0 = s.r0, 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__P4385.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__P4385_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control__ramSize__P4385, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function particles_SprayFactory_constructor__P3191(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24792,8 +24972,6 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___49046 = undefined; - s.removedSource___49055 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); @@ -24802,120 +24980,98 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_VT)) failedCast(r0); - s.tmp_0 = sprites_BaseSprite_constructor__P38399_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.callLocIdx = 1137; s.pc = 5; return s.tmp_0; - case 5: + if (!checkSubtype(r0, particles_SprayFactory__C3190_VT)) failedCast(r0); + r0 = undefined; + s.tmp_0 = particles_initTrig__P5287_mk(s); + s.callLocIdx = 1213; s.pc = 1; return s.tmp_0; + case 1: r0 = s.retval; - s.tmp_0 = particles_init__P39782_mk(s); - s.callLocIdx = 1138; s.pc = 6; return s.tmp_0; - case 6: + s.tmp_0 = particles_SprayFactory_setSpeed__P3194_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1214; s.pc = 2; return s.tmp_0; + case 2: r0 = s.retval; - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1139; s.pc = 7; return s.tmp_0; - case 7: + s.tmp_0 = particles_SprayFactory_setDirection__P3195_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.tmp_0.arg2 = s.arg3; + s.callLocIdx = 1215; s.pc = 3; return s.tmp_0; + case 3: r0 = s.retval; - s.sources___49046 = (r0); - r0 = pxsim_Array__length(s.sources___49046); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_constructor__P3191.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__P3191_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_constructor__P3191, 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__P5287(s) { +let r0 = s.r0, 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___5273); s.tmp_1 = r0; - r0 = (s.tmp_1 >= globals.MAX_SOURCES___39754); + 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_sortSources__P39785_mk(s); - s.tmp_2.arg0 = s.sources___49046; - s.callLocIdx = 1140; s.pc = 8; return s.tmp_2; - case 8: - r0 = s.retval; - r0 = pxsim_Array_.removeAt(s.sources___49046, 0); - s.removedSource___49055 = (r0); - s.tmp_0 = particles_ParticleSource_clear__P39771_mk(s); - s.tmp_0.arg0 = s.removedSource___49055; - s.callLocIdx = 1142; s.pc = 9; return s.tmp_0; - case 9: + s.tmp_2 = particles_cacheSin__P3184_mk(s); + s.tmp_2.arg0 = 100; + s.callLocIdx = 1201; s.pc = 3; return s.tmp_2; + case 3: r0 = s.retval; - s.tmp_0 = particles_ParticleSource_destroy__P39770_mk(s); - s.tmp_0.arg0 = s.removedSource___49055; - s.callLocIdx = 1143; s.pc = 10; return s.tmp_0; - case 10: + globals.cachedSin___5273 = (r0); + s.tmp_0 = particles_cacheCos__P3185_mk(s); + s.tmp_0.arg0 = 100; + s.callLocIdx = 1202; s.pc = 4; return s.tmp_0; + case 4: r0 = s.retval; + globals.cachedCos___5274 = (r0); case 1: case 2: - r0 = (s.arg0).fields["pFlags"] = (0); - s.tmp_0 = particles_ParticleSource_setRate__P39773_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg2; - s.callLocIdx = 1144; s.pc = 11; return s.tmp_0; - case 11: - r0 = s.retval; - s.tmp_0 = particles_ParticleSource_setAcceleration__P39765_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 0; - s.tmp_0.arg2 = 0; - s.callLocIdx = 1145; s.pc = 12; return s.tmp_0; - case 12: - r0 = s.retval; - s.tmp_0 = particles_ParticleSource_setAnchor__P39772_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1146; s.pc = 13; return s.tmp_0; - case 13: - r0 = s.retval; - r0 = (s.arg0).fields["lifespan"] = (undefined); - r0 = (s.arg0).fields["_dt"] = (0); - r0 = (s.arg0).fields["priority"] = (0); - s.tmp_0 = r0 = s.arg3; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 3; continue; } - r0 = s.tmp_0; - { step = 4; continue; } - case 3: - r0 = globals.defaultFactory___39780; - case 4: - // jmp value (already in r0) - s.tmp_1 = r0; - s.tmp_2 = particles_ParticleSource_setFactory__P39775_mk(s); - s.tmp_2.arg0 = s.arg0; - s.tmp_2.arg1 = s.tmp_1; - s.callLocIdx = 1147; s.pc = 14; return s.tmp_2; - case 14: - r0 = s.retval; - r0 = pxsim_Array__push(s.sources___49046, s.arg0); - s.tmp_0 = particles_ParticleSource_enabled__P39769_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = true; - s.callLocIdx = 1148; s.pc = 15; return s.tmp_0; - case 15: - r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleSource_constructor__P39778.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"]} +particles_initTrig__P5287.info = {"start":291,"length":155,"line":11,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"initTrig","argumentNames":[]} -function particles_ParticleSource_constructor__P39778_mk(s) { +function particles_initTrig__P5287_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_constructor__P39778, depth: s.depth + 1, + parent: s, fn: particles_initTrig__P5287, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - sources___49046: undefined, - removedSource___49055: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function particles_sortSources__P39785(s) { +function particles_cacheCos__P3185(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24925,28 +25081,57 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.cos___13470 = undefined; + s.anglePerSlice___13472 = undefined; + s.i___13478 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = helpers_arraySort__P37570_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = particles_sortSources_inline__P49256; - s.callLocIdx = 1186; s.pc = 1; return s.tmp_0; + r0 = pxsim_Array__mk(); + s.cos___13470 = (r0); + r0 = (6.283185307179586 / s.arg0); + s.anglePerSlice___13472 = (r0); + s.i___13478 = (0); case 1: - r0 = s.retval; - r0 = undefined; + r0 = (s.i___13478 < s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.cos___13470; + r0 = (s.i___13478 * s.anglePerSlice___13472); + 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___13478 + 1); + s.i___13478 = (r0); + { step = 1; continue; } + case 2: + r0 = s.cos___13470; return leave(s, r0) default: oops() } } } -particles_sortSources__P39785.info = {"start":10026,"length":129,"line":332,"column":4,"endLine":334,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"sortSources","argumentNames":["sources"]} +particles_cacheCos__P3185.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_sortSources__P39785_mk(s) { +function particles_cacheCos__P3185_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_sortSources__P39785, depth: s.depth + 1, + parent: s, fn: particles_cacheCos__P3185, depth: s.depth + 1, pc: 0, retval: undefined, 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___13470: undefined, + anglePerSlice___13472: undefined, + i___13478: undefined, arg0: undefined, } } @@ -24954,7 +25139,7 @@ function particles_sortSources__P39785_mk(s) { -function particles_sortSources_inline__P49256(s) { +function particles_cacheSin__P3184(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -24964,40 +25149,47 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.sin___13496 = undefined; + s.anglePerSlice___13498 = undefined; + s.i___13504 = undefined; 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; } + r0 = pxsim_Array__mk(); + s.sin___13496 = (r0); + r0 = (6.283185307179586 / s.arg0); + s.anglePerSlice___13498 = (r0); + s.i___13504 = (0); case 1: - r0 = s.arg0.fields["id"]; - s.tmp_3 = r0; - r0 = s.arg1.fields["id"]; + r0 = (s.i___13504 < s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.sin___13496; + r0 = (s.i___13504 * s.anglePerSlice___13498); s.tmp_4 = r0; - r0 = (s.tmp_3 - s.tmp_4); - case 2: - // jmp value (already in 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; + r0 = (s.tmp_5 | 0); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___13504 + 1); + s.i___13504 = (r0); + { step = 1; continue; } + case 2: + r0 = s.sin___13496; return leave(s, r0) default: oops() } } } -particles_sortSources_inline__P49256.info = {"start":10097,"length":50,"line":333,"column":21,"endLine":333,"endColumn":71,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["a","b"]} +particles_cacheSin__P3184.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_sortSources_inline__P49256_mk(s) { +function particles_cacheSin__P3184_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_sortSources_inline__P49256, depth: s.depth + 1, + parent: s, fn: particles_cacheSin__P3184, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -25005,15 +25197,17 @@ function particles_sortSources_inline__P49256_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, + sin___13496: undefined, + anglePerSlice___13498: undefined, + i___13504: undefined, arg0: undefined, - arg1: undefined, } } -function particles_init__P39782(s) { +function particles_SprayFactory_setDirection__P3195(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25023,59 +25217,70 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___49297 = undefined; - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 1176; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.scene___49297 = (r0); - r0 = s.scene___49297.fields["particleSources"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - { step = 3; continue; } + 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__C3190_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_4 = particles_toRadians__P5292_mk(s); + s.tmp_5 = r0 = s.arg1; + r0 = (s.arg2 >> 1); + s.tmp_6 = r0; + r0 = (s.tmp_5 - s.tmp_6); + s.tmp_4.arg0 = r0; + s.callLocIdx = 1223; s.pc = 1; return s.tmp_4; case 1: - case 2: - s.tmp_1 = r0 = s.scene___49297; - r0 = pxsim_Array__mk(); - s.tmp_2 = r0; - r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2); - r0 = pxsim.control.millis(); - globals.lastUpdate___39757 = (r0); - s.tmp_0 = game_onUpdate__P39364_mk(s); - s.tmp_0.arg0 = particles_updateParticles__P39783; - s.callLocIdx = 1177; s.pc = 5; return s.tmp_0; - case 5: r0 = s.retval; - s.tmp_0 = game_onUpdateInterval__P39365_mk(s); - s.tmp_0.arg0 = 250; - s.tmp_0.arg1 = particles_pruneParticles__P39784; - s.callLocIdx = 1178; s.pc = 6; return s.tmp_0; - case 6: + s.tmp_3 = r0; + r0 = (s.tmp_3 / globals.angleSlice___5286); + 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__P5292_mk(s); + s.tmp_4.arg0 = s.arg2; + s.callLocIdx = 1224; s.pc = 2; return s.tmp_4; + case 2: r0 = s.retval; - case 3: + s.tmp_3 = r0; + r0 = (s.tmp_3 / globals.angleSlice___5286); + 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_init__P39782.info = {"start":9236,"length":276,"line":304,"column":4,"endLine":311,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"init","argumentNames":[]} +particles_SprayFactory_setDirection__P3195.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_init__P39782_mk(s) { +function particles_SprayFactory_setDirection__P3195_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_init__P39782, depth: s.depth + 1, + parent: s, fn: particles_SprayFactory_setDirection__P3195, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - scene___49297: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function particles_updateParticles__P39783(s) { +function particles_toRadians__P5292(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25085,81 +25290,86 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sources___49339 = undefined; - s.time___49346 = undefined; - s.dt___49349 = undefined; - s.i___49355 = undefined; - s.tmp_0 = particles_particleSources__P39797_mk(s); - s.callLocIdx = 1179; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - s.sources___49339 = (r0); - r0 = pxsim_numops_toBoolDecr(s.sources___49339); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + 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; } - { step = 5; continue; } - case 1: - case 2: - s.tmp_2 = particles_sortSources__P39785_mk(s); - s.tmp_2.arg0 = s.sources___49339; - s.callLocIdx = 1180; s.pc = 7; return s.tmp_2; - case 7: - r0 = s.retval; - r0 = pxsim.control.millis(); - s.time___49346 = (r0); - r0 = (s.time___49346 - globals.lastUpdate___39757); - s.dt___49349 = (r0); - globals.lastUpdate___39757 = (s.time___49346); - s.i___49355 = (0); + s.tmp_3 = Math_abs__P128_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1205; s.pc = 3; return s.tmp_3; case 3: - s.tmp_1 = r0 = s.i___49355; - r0 = pxsim_Array__length(s.sources___49339); - 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__P39763_mk(s); - r0 = pxsim_Array__getAt(s.sources___49339, s.i___49355); - s.tmp_3.arg0 = r0; - s.tmp_3.arg1 = s.dt___49349; - s.callLocIdx = 1181; s.pc = 8; return s.tmp_3; - case 8: r0 = s.retval; - r0 = (s.i___49355 + 1); - s.i___49355 = (r0); - { step = 3; continue; } - case 4: - case 5: - r0 = undefined; + 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_updateParticles__P39783.info = {"start":9518,"length":340,"line":313,"column":4,"endLine":325,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticles","argumentNames":[]} +particles_toRadians__P5292.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_updateParticles__P39783_mk(s) { +function particles_toRadians__P5292_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_updateParticles__P39783, depth: s.depth + 1, + parent: s, fn: particles_toRadians__P5292, depth: s.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___49339: undefined, - time___49346: undefined, - dt___49349: undefined, - i___49355: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleFactory_constructor__P3187(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C3186_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_constructor__P3187.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__P3187_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_constructor__P3187, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, } } -function particles_ParticleSource__update__P39763(s) { +function particles_ParticleSource_setFactory__P3169(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25169,257 +25379,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.p___49419 = undefined; - s.current___49438 = undefined; - s.fixedDt___49446 = 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__C39760_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 (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); if (!r0) { step = 1; continue; } - r0 = (s.arg0).fields["lifespan"] = (undefined); - s.tmp_0 = particles_ParticleSource_destroy__P39770_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1152; s.pc = 28; return s.tmp_0; - case 28: - r0 = s.retval; + r0 = (s.arg0).fields["_factory"] = (s.arg1); case 1: case 2: - { step = 10; continue; } - case 3: - r0 = s.arg0.fields["anchor"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 4; continue; } - r0 = s.tmp_0; - { step = 5; continue; } - case 4: - s.tmp_2 = if_flags_1_mk(s); - r0 = s.arg0.fields["anchor"]; - s.tmp_2.arg0 = r0; - if (!s.tmp_2.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "flags"); - } else { - s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["flags"]; - if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["flags"]; } - else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } - else { s.callLocIdx = 1153; s.pc = 29; return s.tmp_2; } - } - case 29: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_1 !== undefined); - case 5: - // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBool(s.tmp_3); - if (r0) { step = 6; continue; } - r0 = s.tmp_3; - { step = 7; continue; } - case 6: - s.tmp_5 = if_flags_1_mk(s); - r0 = s.arg0.fields["anchor"]; - s.tmp_5.arg0 = r0; - if (!s.tmp_5.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "flags"); - } else { - s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["flags"]; - if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["flags"]; } - else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } - else { s.callLocIdx = 1154; s.pc = 30; return s.tmp_5; } - } - case 30: - r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_4 & 2); - case 7: - // jmp value (already in r0) - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 8; continue; } - r0 = (s.arg0).fields["lifespan"] = (750); - case 8: - case 9: - case 10: - case 11: - r0 = s.arg0.fields["timer"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 12; continue; } - r0 = s.tmp_0; - { step = 13; continue; } - case 12: - s.tmp_2 = particles_ParticleSource_enabled__P39768_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 1155; s.pc = 31; return s.tmp_2; - case 31: - r0 = s.retval; - case 13: - // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 16; continue; } - s.tmp_4 = r0 = s.arg0; - r0 = s.tmp_4.fields["timer"]; - s.tmp_6 = r0; - r0 = s.arg0.fields["period"]; - s.tmp_7 = r0; - r0 = (s.tmp_6 + s.tmp_7); - s.tmp_5 = r0; - r0 = (s.tmp_4).fields["timer"] = (s.tmp_5); - s.tmp_0 = particles_ParticleFactory__C39820_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__C39820_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___49419 = (r0); - r0 = pxsim_numops_toBoolDecr(s.p___49419); - 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___49419).fields["next"] = (s.tmp_2); - r0 = (s.arg0).fields["head"] = (s.p___49419); - { 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___49438 = (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___49446 = (r0); - r0 = pxsim_numops_toBoolDecr(s.fixedDt___49446); - if (!r0) { step = 23; continue; } - case 19: - r0 = s.current___49438.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___49438; - 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__C39760_v4_3_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.current___49438; - s.tmp_0.arg2 = s.fixedDt___49446; - if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C39760_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___49438.fields["next"]; - s.tmp_0 = r0; - s.current___49438 = (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___49438; - 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___49438.fields["next"]; - s.tmp_0 = r0; - s.current___49438 = (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__P39763.info = {"start":3694,"length":1400,"line":124,"column":8,"endLine":164,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_update","argumentNames":["this","dt"]} +particles_ParticleSource_setFactory__P3169.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__update__P39763_mk(s) { +function particles_ParticleSource_setFactory__P3169_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource__update__P39763, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_setFactory__P3169, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___49419: undefined, - current___49438: undefined, - fixedDt___49446: undefined, arg0: undefined, arg1: undefined, } } @@ -25428,7 +25410,7 @@ function particles_ParticleSource__update__P39763_mk(s) { -function particles_ParticleFactory_createParticle__P39821(s) { +function particles_ParticleSource_setRate__P3167(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25438,74 +25420,34 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.p___49533 = 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__C39820_VT)) failedCast(r0); - r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C39758_VT); - s.p___49533 = (r0); - s.tmp_0 = r0 = s.p___49533; - s.tmp_3 = if_x_1_mk(s); - s.tmp_3.arg0 = s.arg1; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "x"); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["x"]; - if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["x"]; } - else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } - else { s.callLocIdx = 1206; s.pc = 1; return s.tmp_3; } - } - case 1: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_2 * 256); - s.tmp_4 = r0; - r0 = (s.tmp_4 | 0); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); - s.tmp_0 = r0 = s.p___49533; - s.tmp_3 = if_y_1_mk(s); - s.tmp_3.arg0 = s.arg1; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "y"); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["y"]; - if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["y"]; } - else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } - else { s.callLocIdx = 1208; s.pc = 2; return s.tmp_3; } - } - case 2: - r0 = s.retval; + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (1000 / s.arg1); s.tmp_2 = r0; - r0 = (s.tmp_2 * 256); - s.tmp_4 = r0; - r0 = (s.tmp_4 | 0); + r0 = pxsim.Math_.ceil(s.tmp_2); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); - r0 = (s.p___49533).fields["vx"] = (0); - r0 = (s.p___49533).fields["vy"] = (0); - r0 = (s.p___49533).fields["lifespan"] = (500); - r0 = s.p___49533; + r0 = (s.tmp_0).fields["period"] = (s.tmp_1); + r0 = (s.arg0).fields["timer"] = (0); + r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleFactory_createParticle__P39821.info = {"start":1822,"length":282,"line":67,"column":8,"endLine":77,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} +particles_ParticleSource_setRate__P3167.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_ParticleFactory_createParticle__P39821_mk(s) { +function particles_ParticleSource_setRate__P3167_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleFactory_createParticle__P39821, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_setRate__P3167, depth: s.depth + 1, pc: 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___49533: undefined, arg0: undefined, arg1: undefined, } } @@ -25514,7 +25456,7 @@ function particles_ParticleFactory_createParticle__P39821_mk(s) { -function particles_ParticleSource_updateParticle__P39776(s) { +function particles_ParticleSource_setAnchor__P3166(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25527,88 +25469,31 @@ switch (step) { 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__C39760_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); + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + r0 = (s.arg0).fields["anchor"] = (s.arg1); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleSource_updateParticle__P39776.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"]} +particles_ParticleSource_setAnchor__P3166.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_updateParticle__P39776_mk(s) { +function particles_ParticleSource_setAnchor__P3166_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_updateParticle__P39776, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_setAnchor__P3166, depth: s.depth + 1, pc: 0, retval: undefined, 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__P37646(s) { +function particles_ParticleSource_destroy__P3164(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25620,29 +25505,49 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 >> s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleSource_enabled__P3163_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 1162; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["pFlags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["pFlags"] = (s.tmp_1); + s.tmp_0 = particles_ParticleSource__prune__P3158_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1163; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx_rightShift__P37646.info = {"start":2266,"length":108,"line":71,"column":4,"endLine":73,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"rightShift","argumentNames":["a","n"]} +particles_ParticleSource_destroy__P3164.info = {"start":7094,"length":240,"line":233,"column":8,"endLine":238,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"destroy","argumentNames":["this"]} -function Fx_rightShift__P37646_mk(s) { +function particles_ParticleSource_destroy__P3164_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_rightShift__P37646, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_destroy__P3164, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, arg0: undefined, - arg1: undefined, } } -function game_onUpdateInterval__P39365(s) { +function particles_ParticleSource_setAcceleration__P3159(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25652,74 +25557,50 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.timer___49319 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_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 = 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) + r0 = (s.tmp_0).fields["ax"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg2 * 256); 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___49319 = (r0); - r0 = pxsim_pxtrt_stlocRef(s.timer___49319, 0); - r0 = pxsim_pxtcore_mkAction(3, game_onUpdateInterval_inline__P49323); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___49319); - 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__P37819_mk(s); - s.tmp_2 = game_eventContext__P39341_mk(s); - s.callLocIdx = 963; s.pc = 7; return s.tmp_2; - case 7: - r0 = s.retval; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = 19; - s.tmp_1.arg2 = s.tmp_0; - s.callLocIdx = 967; s.pc = 6; return s.tmp_1; - case 6: - r0 = s.retval; - case 5: + r0 = (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() } } } -game_onUpdateInterval__P39365.info = {"start":813,"length":401,"line":26,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdateInterval","argumentNames":["period","a"]} +particles_ParticleSource_setAcceleration__P3159.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 game_onUpdateInterval__P39365_mk(s) { +function particles_ParticleSource_setAcceleration__P3159_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_onUpdateInterval__P39365, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_setAcceleration__P3159, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - timer___49319: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, } } -function game_onUpdateInterval_inline__P49323(s) { +function helpers_arrayShift__P102(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25729,55 +25610,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.time___49324 = undefined; - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 964; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - s.tmp_0 = r0; - r0 = s.tmp_0.fields["_millis"]; - s.time___49324 = (r0); - r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); - s.tmp_1 = r0; - r0 = (s.tmp_1 <= s.time___49324); - 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___49324 + s.caps[1]); - s.tmp_3 = r0; - r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3); - s.tmp_0 = lambda_1_mk(s); - s.tmp_0.argL = s.caps[2]; - setupLambda(s.tmp_0, s.tmp_0.argL); - s.callLocIdx = 966; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - case 1: - case 2: - r0 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_Array_.removeAt(s.arg0, 0); return leave(s, r0) default: oops() } } } -game_onUpdateInterval_inline__P49323.info = {"start":1027,"length":179,"line":29,"column":81,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/gameutil.ts","functionName":"inline","argumentNames":[]} +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 game_onUpdateInterval_inline__P49323_mk(s) { +function helpers_arrayShift__P102_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_onUpdateInterval_inline__P49323, depth: s.depth + 1, + parent: s, fn: helpers_arrayShift__P102, depth: s.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___49324: undefined, + arg0: undefined, } } -function scene_Scene_millis__P38449(s) { +function particles_SprayFactory_setSpeed__P3194(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25789,29 +25644,40 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Scene__C38446_VT)) failedCast(r0); - r0 = s.arg0.fields["_millis"]; + if (!checkSubtype(r0, particles_SprayFactory__C3190_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() } } } -scene_Scene_millis__P38449.info = {"start":7147,"length":61,"line":196,"column":8,"endLine":198,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"millis","argumentNames":["this"]} +particles_SprayFactory_setSpeed__P3194.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 scene_Scene_millis__P38449_mk(s) { +function particles_SprayFactory_setSpeed__P3194_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_millis__P38449, depth: s.depth + 1, + parent: s, fn: particles_SprayFactory_setSpeed__P3194, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, arg0: undefined, + arg1: undefined, } } -function game_onUpdate__P39364(s) { +function particles_ConfettiFactory_constructor__P3218(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25821,54 +25687,99 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.confetti___13883 = undefined; + s.i___13899 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(s.arg0); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ConfettiFactory__C3217_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim.image.ofBuffer(_hex13886); s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + r0 = pxsim.image.ofBuffer(_hex13888); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_2); + r0 = pxsim.image.ofBuffer(_hex13890); + s.tmp_3 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_3); + r0 = pxsim.image.ofBuffer(_hex13892); + s.tmp_4 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_4); + r0 = pxsim.image.ofBuffer(_hex13894); + s.tmp_5 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_5); + s.confetti___13883 = (s.tmp_0); + s.tmp_0 = particles_ShapeFactory_constructor__P3213_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___13883, 0); + s.tmp_0.arg3 = r0; + s.callLocIdx = 1247; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.i___13899 = (1); + case 1: + s.tmp_1 = r0 = s.i___13899; + r0 = pxsim_Array__length(s.confetti___13883); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - { step = 3; continue; } - case 1: - case 2: - s.tmp_2 = control_EventContext_registerFrameHandler__P37819_mk(s); - s.tmp_3 = game_eventContext__P39341_mk(s); - s.callLocIdx = 961; s.pc = 5; return s.tmp_3; - case 5: - r0 = s.retval; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = 20; - s.tmp_2.arg2 = s.arg0; - s.callLocIdx = 962; s.pc = 4; return s.tmp_2; + if (!r0) { step = 2; continue; } + s.tmp_3 = particles_ShapeFactory_addShape__P3214_mk(s); + s.tmp_3.arg0 = s.arg0; + r0 = pxsim_Array__getAt(s.confetti___13883, s.i___13899); + s.tmp_3.arg1 = r0; + s.callLocIdx = 1248; s.pc = 4; return s.tmp_3; case 4: r0 = s.retval; - case 3: + r0 = (s.i___13899 + 1); + s.i___13899 = (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() } } } -game_onUpdate__P39364.info = {"start":327,"length":153,"line":13,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdate","argumentNames":["a"]} +particles_ConfettiFactory_constructor__P3218.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 game_onUpdate__P39364_mk(s) { +function particles_ConfettiFactory_constructor__P3218_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_onUpdate__P39364, depth: s.depth + 1, + parent: s, fn: particles_ConfettiFactory_constructor__P3218, depth: s.depth + 1, pc: 0, retval: undefined, 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___13883: undefined, + i___13899: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } +const _hex13886 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000") +const _hex13888 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000") +const _hex13890 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000") +const _hex13892 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000") +const _hex13894 = pxsim.BufferMethods.createBufferFromHex("87040200020000000f000000ff000000") -function particles_SprayFactory_constructor__P39830(s) { +function particles_ShapeFactory_addShape__P3214(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25881,53 +25792,38 @@ switch (step) { 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__C39824_VT)) failedCast(r0); - r0 = undefined; - s.tmp_0 = particles_initTrig__P39812_mk(s); - s.callLocIdx = 1213; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, particles_ShapeFactory__C3212_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: - r0 = s.retval; - s.tmp_0 = particles_SprayFactory_setSpeed__P39828_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1214; s.pc = 2; return s.tmp_0; case 2: - r0 = s.retval; - s.tmp_0 = particles_SprayFactory_setDirection__P39829_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg2; - s.tmp_0.arg2 = s.arg3; - s.callLocIdx = 1215; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -particles_SprayFactory_constructor__P39830.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"]} +particles_ShapeFactory_addShape__P3214.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_SprayFactory_constructor__P39830_mk(s) { +function particles_ShapeFactory_addShape__P3214_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_SprayFactory_constructor__P39830, depth: s.depth + 1, + parent: s, fn: particles_ShapeFactory_addShape__P3214, 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_SprayFactory_setDirection__P39829(s) { +function particles_ShapeFactory_constructor__P3213(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -25941,66 +25837,71 @@ switch (step) { 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__C39824_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_4 = particles_toRadians__P39819_mk(s); - s.tmp_5 = r0 = s.arg1; - r0 = (s.arg2 >> 1); - s.tmp_6 = r0; - r0 = (s.tmp_5 - s.tmp_6); - s.tmp_4.arg0 = r0; - s.callLocIdx = 1223; s.pc = 1; return s.tmp_4; + if (!checkSubtype(r0, particles_ShapeFactory__C3212_VT)) failedCast(r0); + s.tmp_0 = particles_AreaFactory_constructor__P3201_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = undefined; + s.tmp_0.arg4 = undefined; + s.callLocIdx = 1237; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.arg3); + r0 = (s.arg0).fields["sources"] = (s.tmp_0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(s.arg3); s.tmp_3 = r0; - r0 = (s.tmp_3 / globals.angleSlice___39811); + r0 = (s.tmp_3 >> 1); s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["minAngle"] = (s.tmp_1); + r0 = (s.tmp_0).fields["ox"] = (s.tmp_1); s.tmp_0 = r0 = s.arg0; - s.tmp_4 = particles_toRadians__P39819_mk(s); - s.tmp_4.arg0 = s.arg2; - s.callLocIdx = 1224; s.pc = 2; return s.tmp_4; - case 2: - r0 = s.retval; + r0 = pxsim_ImageMethods.height(s.arg3); s.tmp_3 = r0; - r0 = (s.tmp_3 / globals.angleSlice___39811); + r0 = (s.tmp_3 >> 1); s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["spread"] = (s.tmp_1); + r0 = (s.tmp_0).fields["oy"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_SprayFactory_setDirection__P39829.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"]} +particles_ShapeFactory_constructor__P3213.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_SprayFactory_setDirection__P39829_mk(s) { +function particles_ShapeFactory_constructor__P3213_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_SprayFactory_setDirection__P39829, depth: s.depth + 1, + parent: s, fn: particles_ShapeFactory_constructor__P3213, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, tmp_4: undefined, - tmp_5: undefined, - tmp_6: undefined, arg0: undefined, arg1: undefined, arg2: undefined, + arg3: undefined, } } -function particles_toRadians__P39819(s) { +function particles_AreaFactory_constructor__P3201(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26012,50 +25913,78 @@ switch (step) { 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 < 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_3 = Math_abs__P37594_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 1205; s.pc = 3; return s.tmp_3; - case 3: + r0 = s.arg0; + if (!checkSubtype(r0, particles_AreaFactory__C3196_VT)) failedCast(r0); + s.tmp_0 = particles_SprayFactory_constructor__P3191_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 40; + s.tmp_0.arg2 = 0; + s.tmp_0.arg3 = 90; + s.callLocIdx = 1225; s.pc = 5; return s.tmp_0; + case 5: r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_2 % 360); - s.tmp_1 = r0; - r0 = (360 - s.tmp_1); - s.arg0 = (r0); + 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 = (s.arg0 % 360); - s.arg0 = (r0); + r0 = 150; case 2: - r0 = (s.arg0 * 0.017453292519943295); - return leave(s, r0) - default: oops() -} } } -particles_toRadians__P39819.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__P39819_mk(s) { + // 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__C3058_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P3060_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1226; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + r0 = (s.arg0).fields["galois"] = (s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_AreaFactory_constructor__P3201.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__P3201_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_toRadians__P39819, depth: s.depth + 1, + parent: s, fn: particles_AreaFactory_constructor__P3201, depth: s.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 particles_ParticleFactory_constructor__P39823(s) { +function effects_ScreenEffect_constructor__P3266(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26067,29 +25996,47 @@ switch (step) { 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_ParticleFactory__C39820_VT)) failedCast(r0); + if (!checkSubtype(r0, effects_ScreenEffect__C3265_VT)) failedCast(r0); + s.tmp_0 = effects_ParticleEffect_constructor__P3262_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg3; + s.tmp_0.arg3 = s.arg4; + s.callLocIdx = 1254; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["sceneDefaultRate"] = (s.arg2); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleFactory_constructor__P39823.info = {"start":1617,"length":78,"line":59,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this"]} +effects_ScreenEffect_constructor__P3266.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 particles_ParticleFactory_constructor__P39823_mk(s) { +function effects_ScreenEffect_constructor__P3266_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleFactory_constructor__P39823, depth: s.depth + 1, + parent: s, fn: effects_ScreenEffect_constructor__P3266, 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 particles_initTrig__P39812(s) { +function effects_ParticleEffect_constructor__P3262(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26099,47 +26046,40 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = pxsim_numops_toBoolDecr(globals.cachedSin___39798); - 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__P39813_mk(s); - s.tmp_2.arg0 = 100; - s.callLocIdx = 1201; s.pc = 3; return s.tmp_2; - case 3: - r0 = s.retval; - globals.cachedSin___39798 = (r0); - s.tmp_0 = particles_cacheCos__P39814_mk(s); - s.tmp_0.arg0 = 100; - s.callLocIdx = 1202; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - globals.cachedCos___39799 = (r0); - case 1: - case 2: + 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__C3261_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() } } } -particles_initTrig__P39812.info = {"start":291,"length":155,"line":11,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"initTrig","argumentNames":[]} +effects_ParticleEffect_constructor__P3262.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 particles_initTrig__P39812_mk(s) { +function effects_ParticleEffect_constructor__P3262_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_initTrig__P39812, depth: s.depth + 1, + parent: s, fn: effects_ParticleEffect_constructor__P3262, 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_cacheCos__P39814(s) { +function music_melodyPlayable__P1923(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26149,57 +26089,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.cos___49152 = undefined; - s.anglePerSlice___49154 = undefined; - s.i___49160 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = pxsim_Array__mk(); - s.cos___49152 = (r0); - r0 = (6.283185307179586 / s.arg0); - s.anglePerSlice___49154 = (r0); - s.i___49160 = (0); - case 1: - r0 = (s.i___49160 < s.arg0); + r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayable__C1916_VT); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_1 = r0 = s.cos___49152; - r0 = (s.i___49160 * s.anglePerSlice___49154); - 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___49160 + 1); - s.i___49160 = (r0); - { step = 1; continue; } - case 2: - r0 = s.cos___49152; + s.tmp_1 = music_MelodyPlayable_constructor__P1917_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 74; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -particles_cacheCos__P39814.info = {"start":1005,"length":263,"line":35,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheCos","argumentNames":["slices"]} +music_melodyPlayable__P1923.info = {"start":3172,"length":107,"line":121,"column":4,"endLine":123,"endColumn":5,"fileName":"pxt_modules/mixer/playable.ts","functionName":"melodyPlayable","argumentNames":["melody"]} -function particles_cacheCos__P39814_mk(s) { +function music_melodyPlayable__P1923_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_cacheCos__P39814, depth: s.depth + 1, + parent: s, fn: music_melodyPlayable__P1923, depth: s.depth + 1, pc: 0, retval: undefined, 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___49152: undefined, - anglePerSlice___49154: undefined, - i___49160: undefined, arg0: undefined, } } @@ -26207,7 +26121,7 @@ function particles_cacheCos__P39814_mk(s) { -function particles_cacheSin__P39813(s) { +function music_MelodyPlayable_constructor__P1917(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26217,65 +26131,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.sin___49178 = undefined; - s.anglePerSlice___49180 = undefined; - s.i___49186 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_Array__mk(); - s.sin___49178 = (r0); - r0 = (6.283185307179586 / s.arg0); - s.anglePerSlice___49180 = (r0); - s.i___49186 = (0); - case 1: - r0 = (s.i___49186 < s.arg0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_1 = r0 = s.sin___49178; - r0 = (s.i___49186 * s.anglePerSlice___49180); - 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___49186 + 1); - s.i___49186 = (r0); - { step = 1; continue; } - case 2: - r0 = s.sin___49178; + r0 = s.arg0; + if (!checkSubtype(r0, music_MelodyPlayable__C1916_VT)) failedCast(r0); + r0 = (s.arg0).fields["melody"] = (s.arg1); + r0 = undefined; + r0 = undefined; return leave(s, r0) default: oops() } } } -particles_cacheSin__P39813.info = {"start":594,"length":263,"line":22,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheSin","argumentNames":["slices"]} +music_MelodyPlayable_constructor__P1917.info = {"start":1531,"length":67,"line":68,"column":8,"endLine":70,"endColumn":9,"fileName":"pxt_modules/mixer/playable.ts","functionName":"inline","argumentNames":["this","melody"]} -function particles_cacheSin__P39813_mk(s) { +function music_MelodyPlayable_constructor__P1917_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_cacheSin__P39813, depth: s.depth + 1, + parent: s, fn: music_MelodyPlayable_constructor__P1917, depth: s.depth + 1, pc: 0, retval: undefined, 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___49178: undefined, - anglePerSlice___49180: undefined, - i___49186: undefined, arg0: undefined, + arg1: undefined, } } -function particles_ParticleSource_setFactory__P39775(s) { +function music_Playable_constructor__P1913(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26287,36 +26171,29 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_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: + if (!checkSubtype(r0, music_Playable__C1911_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleSource_setFactory__P39775.info = {"start":8124,"length":114,"line":272,"column":8,"endLine":275,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setFactory","argumentNames":["this","factory"]} +music_Playable_constructor__P1913.info = {"start":1086,"length":26,"line":47,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/mixer/playable.ts","functionName":"inline","argumentNames":["this"]} -function particles_ParticleSource_setFactory__P39775_mk(s) { +function music_Playable_constructor__P1913_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_setFactory__P39775, depth: s.depth + 1, + parent: s, fn: music_Playable_constructor__P1913, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, - arg1: undefined, } } -function particles_ParticleSource_setRate__P39773(s) { +function music_Melody_constructor__P1629(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26332,28 +26209,19 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_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); + if (!checkSubtype(r0, music_Melody__C1626_VT)) failedCast(r0); + r0 = (s.arg0).fields["_text"] = (s.arg1); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ParticleSource_setRate__P39773.info = {"start":7802,"length":139,"line":259,"column":8,"endLine":262,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setRate","argumentNames":["this","particlesPerSecond"]} +music_Melody_constructor__P1629.info = {"start":6430,"length":67,"line":203,"column":8,"endLine":205,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","text"]} -function particles_ParticleSource_setRate__P39773_mk(s) { +function music_Melody_constructor__P1629_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_setRate__P39773, depth: s.depth + 1, + parent: s, fn: music_Melody_constructor__P1629, 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, } } @@ -26362,7 +26230,7 @@ function particles_ParticleSource_setRate__P39773_mk(s) { -function particles_ParticleSource_setAnchor__P39772(s) { +function Fx8__P149(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26374,32 +26242,30 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_VT)) failedCast(r0); - r0 = (s.arg0).fields["anchor"] = (s.arg1); - r0 = undefined; + r0 = (s.arg0 * 256); + s.tmp_0 = r0; + r0 = (s.tmp_0 | 0); return leave(s, r0) default: oops() } } } -particles_ParticleSource_setAnchor__P39772.info = {"start":7594,"length":79,"line":251,"column":8,"endLine":253,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAnchor","argumentNames":["this","anchor"]} +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 particles_ParticleSource_setAnchor__P39772_mk(s) { +function Fx8__P149_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_setAnchor__P39772, depth: s.depth + 1, + parent: s, fn: Fx8__P149, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, arg0: undefined, - arg1: undefined, } } -function particles_ParticleSource_destroy__P39770(s) { +function SpriteKind_create__P2478(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26409,51 +26275,35 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_VT)) failedCast(r0); - s.tmp_0 = particles_ParticleSource_enabled__P39769_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = false; - s.callLocIdx = 1162; s.pc = 1; return s.tmp_0; + r0 = (globals.nextKind___4741 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + globals.nextKind___4741 = (1000); 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__P39764_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 1163; s.pc = 2; return s.tmp_0; case 2: - r0 = s.retval; - r0 = undefined; + s.tmp_0 = r0 = globals.nextKind___4741; + r0 = (s.tmp_0 + 1); + globals.nextKind___4741 = (r0); + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -particles_ParticleSource_destroy__P39770.info = {"start":7094,"length":240,"line":233,"column":8,"endLine":238,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"destroy","argumentNames":["this"]} +SpriteKind_create__P2478.info = {"start":783,"length":112,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/spritekind.ts","functionName":"create","argumentNames":[]} -function particles_ParticleSource_destroy__P39770_mk(s) { +function SpriteKind_create__P2478_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource_destroy__P39770, depth: s.depth + 1, + parent: s, fn: SpriteKind_create__P2478, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - arg0: undefined, } } -function particles_ParticleSource_setAcceleration__P39765(s) { +function controller_Button_constructor__P2195(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26470,100 +26320,61 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ParticleSource__C39760_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); - s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + if (!checkSubtype(r0, controller_Button__C2189_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__P14036); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["ax"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg2 * 256); + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + r0 = s.arg0.fields["id"]; s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + r0 = pxsim.control.internalOnEvent(2050, s.tmp_2, s.tmp_1, 16); + r0 = pxsim_pxtcore_mkAction(1, controller_Button_inline__P14043); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = s.arg0.fields["id"]; s.tmp_1 = r0; - r0 = (s.tmp_0).fields["ay"] = (s.tmp_1); - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -particles_ParticleSource_setAcceleration__P39765.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__P39765_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: particles_ParticleSource_setAcceleration__P39765, 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 MAX_SOURCES_inline__P49272(s) { -let r0 = s.r0, step = 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___49273 = undefined; - s.tmp_0 = control_ramSize__P37754_mk(s); - s.callLocIdx = 42; s.pc = 6; return s.tmp_0; - case 6: - r0 = s.retval; - s.sz___49273 = (r0); - r0 = (s.sz___49273 <= 102400); + 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 = 8; - { step = 5; continue; } - { step = 4; continue; } + r0 = undefined; case 1: - r0 = (s.sz___49273 <= 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__P49272.info = {"start":240,"length":217,"line":9,"column":25,"endLine":18,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":[]} +controller_Button_constructor__P2195.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 MAX_SOURCES_inline__P49272_mk(s) { +function controller_Button_constructor__P2195_mk(s) { checkStack(s.depth); return { - parent: s, fn: MAX_SOURCES_inline__P49272, depth: s.depth + 1, + parent: s, fn: controller_Button_constructor__P2195, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - sz___49273: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function control_ramSize__P37754(s) { +function controller_Button_inline__P14036(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26573,37 +26384,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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; } + s.tmp_0 = controller_Button_setPressed__P2202_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = false; + s.callLocIdx = 200; s.pc = 1; return s.tmp_0; case 1: - r0 = 33554432; - case 2: - // jmp value (already in r0) - s.tmp_1 = r0; - r0 = s.tmp_1; + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -control_ramSize__P37754.info = {"start":4847,"length":100,"line":165,"column":4,"endLine":167,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"ramSize","argumentNames":[]} +controller_Button_inline__P14036.info = {"start":2627,"length":28,"line":88,"column":66,"endLine":88,"endColumn":94,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} -function control_ramSize__P37754_mk(s) { +function controller_Button_inline__P14036_mk(s) { checkStack(s.depth); return { - parent: s, fn: control_ramSize__P37754, depth: s.depth + 1, + parent: s, fn: controller_Button_inline__P14036, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, } } -function control__ramSize__P37753(s) { +function controller_Button_inline__P14043(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26613,24 +26418,31 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = 33554432; + s.tmp_0 = controller_Button_setPressed__P2202_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = true; + s.callLocIdx = 201; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -control__ramSize__P37753.info = {"start":4727,"length":60,"line":160,"column":4,"endLine":162,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"_ramSize","argumentNames":[]} +controller_Button_inline__P14043.info = {"start":2729,"length":27,"line":89,"column":68,"endLine":89,"endColumn":95,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} -function control__ramSize__P37753_mk(s) { +function controller_Button_inline__P14043_mk(s) { checkStack(s.depth); return { - parent: s, fn: control__ramSize__P37753, depth: s.depth + 1, + parent: s, fn: controller_Button_inline__P14043, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, } } -function helpers_arrayShift__P37565(s) { +function controller_setupButton__P4724(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26642,27 +26454,29 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_Array_.removeAt(s.arg0, 0); + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arrayShift__P37565.info = {"start":4045,"length":82,"line":153,"column":4,"endLine":155,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayShift","argumentNames":["arr"]} +controller_setupButton__P4724.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 helpers_arrayShift__P37565_mk(s) { +function controller_setupButton__P4724_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayShift__P37565, depth: s.depth + 1, + parent: s, fn: controller_setupButton__P4724, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, + arg1: undefined, } } -function particles_SprayFactory_setSpeed__P39828(s) { +function controller_Button_setPressed__P2202(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26678,23 +26492,62 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_SprayFactory__C39824_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - r0 = (s.arg1 * 256); - s.tmp_2 = r0; - r0 = (s.tmp_2 | 0); + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; s.tmp_1 = r0; - r0 = (s.tmp_0).fields["speed"] = (s.tmp_1); + 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__P1929_mk(s); + s.callLocIdx = 204; 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__P2156_mk(s); + r0 = s.arg0.fields["_owner"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = true; + s.callLocIdx = 205; 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__P4708_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 206; 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__P4707_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 207; 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() } } } -particles_SprayFactory_setSpeed__P39828.info = {"start":3322,"length":92,"line":119,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setSpeed","argumentNames":["this","pixelsPerSecond"]} +controller_Button_setPressed__P2202.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 particles_SprayFactory_setSpeed__P39828_mk(s) { +function controller_Button_setPressed__P2202_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_SprayFactory_setSpeed__P39828, depth: s.depth + 1, + parent: s, fn: controller_Button_setPressed__P2202, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -26707,7 +26560,7 @@ function particles_SprayFactory_setSpeed__P39828_mk(s) { -function particles_ConfettiFactory_constructor__P39849(s) { +function controller_Button_raiseButtonDown__P4708(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26717,99 +26570,43 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.confetti___49574 = undefined; - s.i___49590 = 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__C39847_VT)) failedCast(r0); - r0 = pxsim_Array__mk(); + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___4718); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["id"]; s.tmp_0 = r0; - r0 = pxsim.image.ofBuffer(_hex49577); - s.tmp_1 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); - r0 = pxsim.image.ofBuffer(_hex49579); - s.tmp_2 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_2); - r0 = pxsim.image.ofBuffer(_hex49581); - s.tmp_3 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_3); - r0 = pxsim.image.ofBuffer(_hex49583); - s.tmp_4 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_4); - r0 = pxsim.image.ofBuffer(_hex49585); - s.tmp_5 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_5); - s.confetti___49574 = (s.tmp_0); - s.tmp_0 = particles_ShapeFactory_constructor__P39846_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___49574, 0); - s.tmp_0.arg3 = r0; - s.callLocIdx = 1247; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - s.i___49590 = (1); + r0 = pxsim.control.raiseEvent(2049, s.tmp_0); + { step = 2; continue; } case 1: - s.tmp_1 = r0 = s.i___49590; - r0 = pxsim_Array__length(s.confetti___49574); - s.tmp_2 = r0; - r0 = (s.tmp_1 < s.tmp_2); + r0 = s.arg0.fields["id"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_3 = particles_ShapeFactory_addShape__P39843_mk(s); - s.tmp_3.arg0 = s.arg0; - r0 = pxsim_Array__getAt(s.confetti___49574, s.i___49590); - s.tmp_3.arg1 = r0; - s.callLocIdx = 1248; s.pc = 4; return s.tmp_3; - case 4: - r0 = s.retval; - r0 = (s.i___49590 + 1); - s.i___49590 = (r0); - { step = 1; continue; } + r0 = pxsim.control.raiseEvent(2053, s.tmp_0); 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__P39849.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"]} +controller_Button_raiseButtonDown__P4708.info = {"start":3088,"length":205,"line":103,"column":8,"endLine":108,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonDown","argumentNames":["this"]} -function particles_ConfettiFactory_constructor__P39849_mk(s) { +function controller_Button_raiseButtonDown__P4708_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ConfettiFactory_constructor__P39849, depth: s.depth + 1, + parent: s, fn: controller_Button_raiseButtonDown__P4708, depth: s.depth + 1, pc: 0, retval: undefined, 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___49574: undefined, - i___49590: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -const _hex49577 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000") -const _hex49579 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000") -const _hex49581 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000") -const _hex49583 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000") -const _hex49585 = pxsim.BufferMethods.createBufferFromHex("87040200020000000f000000ff000000") -function particles_ShapeFactory_constructor__P39846(s) { +function controller_Button_raiseButtonUp__P4707(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26821,73 +26618,41 @@ switch (step) { 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__C39841_VT)) failedCast(r0); - s.tmp_0 = particles_AreaFactory_constructor__P39835_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.arg2; - s.tmp_0.arg3 = undefined; - s.tmp_0.arg4 = undefined; - s.callLocIdx = 1237; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___4718); + 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.retval; - r0 = pxsim_Array__mk(); + r0 = s.arg0.fields["id"]; 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 = pxsim.control.raiseEvent(2052, s.tmp_0); + case 2: r0 = undefined; return leave(s, r0) default: oops() } } } -particles_ShapeFactory_constructor__P39846.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"]} +controller_Button_raiseButtonUp__P4707.info = {"start":2878,"length":200,"line":96,"column":8,"endLine":101,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonUp","argumentNames":["this"]} -function particles_ShapeFactory_constructor__P39846_mk(s) { +function controller_Button_raiseButtonUp__P4707_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ShapeFactory_constructor__P39846, depth: s.depth + 1, + parent: s, fn: controller_Button_raiseButtonUp__P4707, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function particles_AreaFactory_constructor__P39835(s) { +function game_addScenePushHandler__P3017(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26899,78 +26664,48 @@ switch (step) { 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__C39831_VT)) failedCast(r0); - s.tmp_0 = particles_SprayFactory_constructor__P39830_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = 40; - s.tmp_0.arg2 = 0; - s.tmp_0.arg3 = 90; - s.callLocIdx = 1225; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - r0 = (s.arg0).fields["xRange"] = (s.arg1); - r0 = (s.arg0).fields["yRange"] = (s.arg2); - r0 = pxsim_numops_toBoolDecr(s.arg3); + r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___4924); + 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.arg3; - { step = 2; continue; } + r0 = pxsim_Array__mk(); + globals._scenePushHandlers___4924 = (r0); case 1: - r0 = 150; case 2: - // jmp value (already in r0) + r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___4924, s.arg0, undefined); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); s.tmp_0 = r0; - r0 = (s.arg0).fields["minLifespan"] = (s.tmp_0); - r0 = pxsim_numops_toBoolDecr(s.arg4); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 3; continue; } - r0 = s.arg4; - { step = 4; continue; } + r0 = pxsim_Array__push(globals._scenePushHandlers___4924, s.arg0); 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__C39622_VT); - s.tmp_0 = r0; - s.tmp_1 = Math_FastRandom_constructor__P39629_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = undefined; - s.callLocIdx = 1226; s.pc = 6; return s.tmp_1; - case 6: - r0 = s.retval; - r0 = (s.arg0).fields["galois"] = (s.tmp_0); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_AreaFactory_constructor__P39835.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"]} +game_addScenePushHandler__P3017.info = {"start":16044,"length":242,"line":479,"column":4,"endLine":483,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePushHandler","argumentNames":["handler"]} -function particles_AreaFactory_constructor__P39835_mk(s) { +function game_addScenePushHandler__P3017_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_AreaFactory_constructor__P39835, depth: s.depth + 1, + parent: s, fn: game_addScenePushHandler__P3017, 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 particles_ShapeFactory_addShape__P39843(s) { +function controller_Controller_id__P2141(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -26982,39 +26717,30 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ShapeFactory__C39841_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) + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = s.arg0.fields["_id"]; + return leaveAccessor(s, r0) default: oops() } } } -particles_ShapeFactory_addShape__P39843.info = {"start":7079,"length":83,"line":225,"column":8,"endLine":227,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"addShape","argumentNames":["this","shape"]} +controller_Controller_id__P2141.info = {"start":3444,"length":49,"line":109,"column":8,"endLine":111,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"id","argumentNames":["this"]} +controller_Controller_id__P2141.isGetter = true; -function particles_ShapeFactory_addShape__P39843_mk(s) { +function controller_Controller_id__P2141_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ShapeFactory_addShape__P39843, depth: s.depth + 1, + parent: s, fn: controller_Controller_id__P2141, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, - arg1: undefined, } } -function effects_ScreenEffect_constructor__P39901(s) { +function controller_Controller_connected__P2155(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27026,47 +26752,30 @@ switch (step) { 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__C39897_VT)) failedCast(r0); - s.tmp_0 = effects_ParticleEffect_constructor__P39890_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.arg3; - s.tmp_0.arg3 = s.arg4; - s.callLocIdx = 1254; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = (s.arg0).fields["sceneDefaultRate"] = (s.arg2); - r0 = undefined; - return leave(s, r0) + if (!checkSubtype(r0, controller_Controller__C2134_VT)) failedCast(r0); + r0 = s.arg0.fields["_connected"]; + return leaveAccessor(s, r0) default: oops() } } } -effects_ScreenEffect_constructor__P39901.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"]} +controller_Controller_connected__P2155.info = {"start":7723,"length":63,"line":250,"column":8,"endLine":252,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this"]} +controller_Controller_connected__P2155.isGetter = true; -function effects_ScreenEffect_constructor__P39901_mk(s) { +function controller_Controller_connected__P2155_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ScreenEffect_constructor__P39901, depth: s.depth + 1, + parent: s, fn: controller_Controller_connected__P2155, 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__P39890(s) { +function game_currentScene__P2998(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27076,40 +26785,30 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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__C39887_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; + s.tmp_0 = game_init__P4930_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 942; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals._scene___4922; return leave(s, r0) default: oops() } } } -effects_ParticleEffect_constructor__P39890.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"]} +game_currentScene__P2998.info = {"start":4025,"length":90,"line":118,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"currentScene","argumentNames":[]} -function effects_ParticleEffect_constructor__P39890_mk(s) { +function game_currentScene__P2998_mk(s) { checkStack(s.depth); return { - parent: s, fn: effects_ParticleEffect_constructor__P39890, depth: s.depth + 1, + parent: s, fn: game_currentScene__P2998, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, + tmp_0: undefined, } } -function music_melodyPlayable__P38229(s) { +function game_addScenePopHandler__P3019(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27123,24 +26822,35 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayable__C38220_VT); + r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___4925); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - s.tmp_1 = music_MelodyPlayable_constructor__P38223_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = s.arg0; - s.callLocIdx = 74; s.pc = 1; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._scenePopHandlers___4925 = (r0); case 1: - r0 = s.retval; - r0 = s.tmp_0; + case 2: + r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___4925, 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___4925, s.arg0); + case 3: + case 4: + r0 = undefined; return leave(s, r0) default: oops() } } } -music_melodyPlayable__P38229.info = {"start":3172,"length":107,"line":121,"column":4,"endLine":123,"endColumn":5,"fileName":"pxt_modules/mixer/playable.ts","functionName":"melodyPlayable","argumentNames":["melody"]} +game_addScenePopHandler__P3019.info = {"start":17045,"length":237,"line":503,"column":4,"endLine":507,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePopHandler","argumentNames":["handler"]} -function music_melodyPlayable__P38229_mk(s) { +function game_addScenePopHandler__P3019_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_melodyPlayable__P38229, depth: s.depth + 1, + parent: s, fn: game_addScenePopHandler__P3019, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -27151,7 +26861,7 @@ function music_melodyPlayable__P38229_mk(s) { -function music_MelodyPlayable_constructor__P38223(s) { +function settings_initScopes__P4612(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27161,35 +26871,53 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - if (s.lambdaArgs) { - s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); - s.lambdaArgs = null; - } - r0 = s.arg0; - if (!checkSubtype(r0, music_MelodyPlayable__C38220_VT)) failedCast(r0); - r0 = (s.arg0).fields["melody"] = (s.arg1); - r0 = undefined; + s.rn___14138 = undefined; + s.tmp_1 = settings_runNumber__P2058_mk(s); + s.callLocIdx = 120; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + s.rn___14138 = (r0); + s.tmp_0 = settings_writeNumber__P2063_mk(s); + s.tmp_0.arg0 = globals.RUN_KEY___4600; + s.tmp_0.arg1 = s.rn___14138; + s.callLocIdx = 121; 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___14138); + s.tmp_0 = settings_setScope__P4611_mk(s); + r0 = pxsim_pxtcore.programName(); + s.tmp_0.arg0 = r0; + s.callLocIdx = 122; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -music_MelodyPlayable_constructor__P38223.info = {"start":1531,"length":67,"line":68,"column":8,"endLine":70,"endColumn":9,"fileName":"pxt_modules/mixer/playable.ts","functionName":"inline","argumentNames":["this","melody"]} +settings_initScopes__P4612.info = {"start":1104,"length":230,"line":41,"column":4,"endLine":49,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"initScopes","argumentNames":[]} -function music_MelodyPlayable_constructor__P38223_mk(s) { +function settings_initScopes__P4612_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_MelodyPlayable_constructor__P38223, depth: s.depth + 1, + parent: s, fn: settings_initScopes__P4612, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, - arg1: undefined, + tmp_0: undefined, + tmp_1: undefined, + rn___14138: undefined, } } -function music_Playable_constructor__P38219(s) { +function settings_setScope__P4611(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27199,23 +26927,66 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.currScope___14167 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, music_Playable__C38047_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_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__P2066_mk(s); + s.tmp_0.arg0 = globals.SCOPE_KEY___4601; + s.callLocIdx = 118; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.currScope___14167 = (r0); + r0 = (s.currScope___14167 != 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__P2061_mk(s); + s.tmp_0.arg0 = globals.SCOPE_KEY___4601; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 119; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 5: + case 6: r0 = undefined; return leave(s, r0) default: oops() } } } -music_Playable_constructor__P38219.info = {"start":1086,"length":26,"line":47,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/mixer/playable.ts","functionName":"inline","argumentNames":["this"]} +settings_setScope__P4611.info = {"start":826,"length":272,"line":31,"column":4,"endLine":39,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"setScope","argumentNames":["scope"]} -function music_Playable_constructor__P38219_mk(s) { +function settings_setScope__P4611_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_Playable_constructor__P38219, depth: s.depth + 1, + parent: s, fn: settings_setScope__P4611, depth: s.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___14167: undefined, arg0: undefined, } } @@ -27223,7 +26994,7 @@ function music_Playable_constructor__P38219_mk(s) { -function music_Melody_constructor__P37984(s) { +function settings_readString__P2066(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27233,34 +27004,49 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.buf___14188 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, music_Melody__C37972_VT)) failedCast(r0); - r0 = (s.arg0).fields["_text"] = (s.arg1); + r0 = pxsim.settings._get(s.arg0); + s.buf___14188 = (r0); + r0 = pxsim_numops_toBoolDecr(s.buf___14188); + 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___14188); + { step = 3; continue; } + case 2: r0 = undefined; + case 3: return leave(s, r0) default: oops() } } } -music_Melody_constructor__P37984.info = {"start":6430,"length":67,"line":203,"column":8,"endLine":205,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","text"]} +settings_readString__P2066.info = {"start":2827,"length":177,"line":110,"column":4,"endLine":116,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readString","argumentNames":["key"]} -function music_Melody_constructor__P37984_mk(s) { +function settings_readString__P2066_mk(s) { checkStack(s.depth); return { - parent: s, fn: music_Melody_constructor__P37984, depth: s.depth + 1, + parent: s, fn: settings_readString__P2066, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + buf___14188: undefined, arg0: undefined, - arg1: undefined, } } -function Fx8__P37613(s) { +function settings_writeString__P2061(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27272,30 +27058,37 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 * 256); - s.tmp_0 = r0; - r0 = (s.tmp_0 | 0); + s.tmp_0 = settings_writeBuffer__P2060_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim.control.createBufferFromUTF8(s.arg1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 124; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -Fx8__P37613.info = {"start":42,"length":68,"line":4,"column":0,"endLine":6,"endColumn":1,"fileName":"pxt_modules/base/fixed.ts","functionName":"Fx8","argumentNames":["v"]} +settings_writeString__P2061.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 Fx8__P37613_mk(s) { +function settings_writeString__P2061_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx8__P37613, depth: s.depth + 1, + parent: s, fn: settings_writeString__P2061, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, + arg1: undefined, } } -function SpriteKind_create__P38783(s) { +function settings_runNumber__P2058(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27305,35 +27098,42 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - r0 = (globals.nextKind___38782 === undefined); + s.tmp_1 = settings_readNumber__P2068_mk(s); + s.tmp_1.arg0 = globals.RUN_KEY___4600; + s.callLocIdx = 117; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + r0 = pxsim_numops_toBool(s.tmp_0); if (!r0) { step = 1; continue; } - globals.nextKind___38782 = (1000); + r0 = s.tmp_0; + { step = 2; continue; } case 1: + r0 = 0; case 2: - s.tmp_0 = r0 = globals.nextKind___38782; - r0 = (s.tmp_0 + 1); - globals.nextKind___38782 = (r0); - r0 = s.tmp_0; + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = s.tmp_2; return leave(s, r0) default: oops() } } } -SpriteKind_create__P38783.info = {"start":783,"length":112,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/spritekind.ts","functionName":"create","argumentNames":[]} +settings_runNumber__P2058.info = {"start":745,"length":75,"line":27,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"runNumber","argumentNames":[]} -function SpriteKind_create__P38783_mk(s) { +function settings_runNumber__P2058_mk(s) { checkStack(s.depth); return { - parent: s, fn: SpriteKind_create__P38783, depth: s.depth + 1, + parent: s, fn: settings_runNumber__P2058, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, } } -function controller_Button_constructor__P38578(s) { +function control___screen_setupUpdate__P1994(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27345,66 +27145,36 @@ switch (step) { 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__C38558_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__P49731); - 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__P49738); - 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; + globals.__updated___4567 = (true); + globals.__update___4565 = (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 = 111; s.pc = 1; return s.tmp_0; case 1: - case 2: - case 3: - case 4: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -controller_Button_constructor__P38578.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"]} +control___screen_setupUpdate__P1994.info = {"start":198,"length":125,"line":10,"column":4,"endLine":14,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"setupUpdate","argumentNames":["update"]} -function controller_Button_constructor__P38578_mk(s) { +function control___screen_setupUpdate__P1994_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_constructor__P38578, depth: s.depth + 1, + parent: s, fn: control___screen_setupUpdate__P1994, 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__P49731(s) { +function _screen_internal_getScreenHeight__P2037(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27414,31 +27184,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = controller_Button_setPressed__P38570_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = false; - s.callLocIdx = 200; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore.getConfig(2103, s.arg0); return leave(s, r0) default: oops() } } } -controller_Button_inline__P49731.info = {"start":2627,"length":28,"line":88,"column":66,"endLine":88,"endColumn":94,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} +_screen_internal_getScreenHeight__P2037.info = {"start":960,"length":127,"line":28,"column":4,"endLine":30,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"getScreenHeight","argumentNames":["defl"]} -function controller_Button_inline__P49731_mk(s) { +function _screen_internal_getScreenHeight__P2037_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_inline__P49731, depth: s.depth + 1, + parent: s, fn: _screen_internal_getScreenHeight__P2037, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, + arg0: undefined, } } -function controller_Button_inline__P49738(s) { +function _screen_internal_getScreenWidth__P2036(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27448,31 +27216,29 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = controller_Button_setPressed__P38570_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = true; - s.callLocIdx = 201; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore.getConfig(2102, s.arg0); return leave(s, r0) default: oops() } } } -controller_Button_inline__P49738.info = {"start":2729,"length":27,"line":89,"column":68,"endLine":89,"endColumn":95,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} +_screen_internal_getScreenWidth__P2036.info = {"start":810,"length":125,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"getScreenWidth","argumentNames":["defl"]} -function controller_Button_inline__P49738_mk(s) { +function _screen_internal_getScreenWidth__P2036_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_inline__P49738, depth: s.depth + 1, + parent: s, fn: _screen_internal_getScreenWidth__P2036, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, + arg0: undefined, } } -function controller_setupButton__P38588(s) { +function control___screen_update__P1993(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27482,31 +27248,36 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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.__update___4565); + if (!r0) { step = 1; continue; } + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = globals.__update___4565; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 110; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + case 1: + case 2: + globals.__updated___4567 = (true); r0 = undefined; return leave(s, r0) default: oops() } } } -controller_setupButton__P38588.info = {"start":861,"length":93,"line":39,"column":4,"endLine":41,"endColumn":6,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"setupButton","argumentNames":["buttonId","key"]} +control___screen_update__P1993.info = {"start":90,"length":102,"line":4,"column":4,"endLine":8,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"update","argumentNames":[]} -function controller_setupButton__P38588_mk(s) { +function control___screen_update__P1993_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_setupButton__P38588, depth: s.depth + 1, + parent: s, fn: control___screen_update__P1993, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, - arg1: undefined, + tmp_0: undefined, } } -function controller_Button_setPressed__P38570(s) { +function pause__P413(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27518,79 +27289,33 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Button__C38558_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__P38236_mk(s); - s.callLocIdx = 204; 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__P38541_mk(s); - r0 = s.arg0.fields["_owner"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = true; - s.callLocIdx = 205; s.pc = 8; return s.tmp_1; - case 8: - r0 = s.retval; + setupResume(s, 1); + pxsim.loops.pause(s.arg0); + checkResumeConsumed(); + return; 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__P38562_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 206; 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__P38561_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 207; 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__P38570.info = {"start":6774,"length":507,"line":201,"column":8,"endLine":215,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"setPressed","argumentNames":["this","pressed"]} +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 controller_Button_setPressed__P38570_mk(s) { +function pause__P413_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_setPressed__P38570, depth: s.depth + 1, + parent: s, fn: pause__P413, 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__P38562(s) { +function music_Melody_toString__P1635(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27605,30 +27330,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Button__C38558_VT)) failedCast(r0); - r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___38582); - 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; + if (!checkSubtype(r0, music_Melody__C1626_VT)) failedCast(r0); + r0 = s.arg0.fields["_text"]; return leave(s, r0) default: oops() } } } -controller_Button_raiseButtonDown__P38562.info = {"start":3088,"length":205,"line":103,"column":8,"endLine":108,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonDown","argumentNames":["this"]} +music_Melody_toString__P1635.info = {"start":10223,"length":53,"line":318,"column":8,"endLine":320,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"toString","argumentNames":["this"]} -function controller_Button_raiseButtonDown__P38562_mk(s) { +function music_Melody_toString__P1635_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_raiseButtonDown__P38562, depth: s.depth + 1, + parent: s, fn: music_Melody_toString__P1635, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, } } @@ -27636,7 +27349,7 @@ function controller_Button_raiseButtonDown__P38562_mk(s) { -function controller_Button_raiseButtonUp__P38561(s) { +function particles_ShapeFactory_createParticle__P3216(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27646,43 +27359,56 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.p___14226 = 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__C38558_VT)) failedCast(r0); - r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___38582); - 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; } + if (!checkSubtype(r0, particles_ShapeFactory__C3212_VT)) failedCast(r0); + s.tmp_0 = particles_AreaFactory_createParticle__P3202_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1245; s.pc = 1; return s.tmp_0; case 1: - r0 = s.arg0.fields["id"]; - s.tmp_0 = r0; - r0 = pxsim.control.raiseEvent(2052, s.tmp_0); + r0 = s.retval; + s.p___14226 = (r0); + s.tmp_0 = r0 = s.p___14226; + s.tmp_2 = Math_FastRandom_randomRange__P3062_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 1; + s.tmp_2.arg2 = 14; + s.callLocIdx = 1246; s.pc = 2; return s.tmp_2; case 2: - r0 = undefined; + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["color"] = (s.tmp_1); + r0 = s.p___14226; return leave(s, r0) default: oops() } } } -controller_Button_raiseButtonUp__P38561.info = {"start":2878,"length":200,"line":96,"column":8,"endLine":101,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonUp","argumentNames":["this"]} +particles_ShapeFactory_createParticle__P3216.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 controller_Button_raiseButtonUp__P38561_mk(s) { +function particles_ShapeFactory_createParticle__P3216_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_raiseButtonUp__P38561, depth: s.depth + 1, + parent: s, fn: particles_ShapeFactory_createParticle__P3216, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + p___14226: undefined, arg0: undefined, + arg1: undefined, } } -function game_addScenePushHandler__P38495(s) { +function particles_AreaFactory_createParticle__P3202(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27692,50 +27418,146 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.p___14238 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___39333); + r0 = s.arg0; + if (!checkSubtype(r0, particles_AreaFactory__C3196_VT)) failedCast(r0); + s.tmp_0 = particles_SprayFactory_createParticle__P3192_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1227; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.p___14238 = (r0); + s.tmp_0 = r0 = s.p___14238; + s.tmp_2 = Math_FastRandom_randomRange__P3062_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_2.arg0 = r0; + r0 = s.arg0.fields["minLifespan"]; + s.tmp_2.arg1 = r0; + r0 = s.arg0.fields["maxLifespan"]; + s.tmp_2.arg2 = r0; + s.callLocIdx = 1228; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1); + s.tmp_0 = r0 = s.p___14238; + s.tmp_4 = Math_FastRandom_randomRange__P3062_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = 0; + r0 = s.arg0.fields["xRange"]; + s.tmp_4.arg2 = r0; + s.callLocIdx = 1229; s.pc = 5; return s.tmp_4; + case 5: + r0 = s.retval; + s.tmp_3 = r0; + r0 = s.arg0.fields["xRange"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 1); + s.tmp_5 = r0; + r0 = (s.tmp_3 - s.tmp_5); + s.tmp_2 = r0; + r0 = s.p___14238.fields["_x"]; + s.tmp_7 = r0; + r0 = (s.tmp_2 << 8); + s.tmp_8 = r0; + r0 = (s.tmp_8 + s.tmp_7); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_1 = if_height_1_mk(s); + s.tmp_1.arg0 = s.arg1; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "height"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["height"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["height"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 1232; s.pc = 6; return s.tmp_1; } + } + case 6: + r0 = s.retval; s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = pxsim_Array__mk(); - globals._scenePushHandlers___39333 = (r0); + s.tmp_3 = if_height_1_mk(s); + s.tmp_3.arg0 = s.arg1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "height"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["height"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["height"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1233; s.pc = 7; return s.tmp_3; } + } + case 7: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + { step = 2; continue; } case 1: + r0 = 0; case 2: - r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___39333, 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___39333, s.arg0); - case 3: - case 4: - r0 = undefined; + // jmp value (already in r0) + s.tmp_4 = r0; + s.tmp_5 = r0 = s.p___14238; + s.tmp_9 = Math_FastRandom_randomRange__P3062_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_9.arg0 = r0; + s.tmp_9.arg1 = 0; + r0 = s.arg0.fields["yRange"]; + s.tmp_9.arg2 = r0; + s.callLocIdx = 1231; s.pc = 8; return s.tmp_9; + case 8: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 - s.tmp_4); + s.tmp_7 = r0; + r0 = s.p___14238.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___14238; return leave(s, r0) default: oops() } } } -game_addScenePushHandler__P38495.info = {"start":16044,"length":242,"line":479,"column":4,"endLine":483,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePushHandler","argumentNames":["handler"]} +particles_AreaFactory_createParticle__P3202.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 game_addScenePushHandler__P38495_mk(s) { +function particles_AreaFactory_createParticle__P3202_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_addScenePushHandler__P38495, depth: s.depth + 1, + parent: s, fn: particles_AreaFactory_createParticle__P3202, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___14238: undefined, arg0: undefined, + arg1: undefined, } } -function controller_Controller_id__P38484(s) { +function Fx_iadd__P158(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27747,30 +27569,32 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["_id"]; - return leaveAccessor(s, r0) + r0 = (s.arg0 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.arg1); + return leave(s, r0) default: oops() } } } -controller_Controller_id__P38484.info = {"start":3444,"length":49,"line":109,"column":8,"endLine":111,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"id","argumentNames":["this"]} -controller_Controller_id__P38484.isGetter = true; +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 controller_Controller_id__P38484_mk(s) { +function Fx_iadd__P158_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_id__P38484, depth: s.depth + 1, + 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 controller_Controller_connected__P38479(s) { +function particles_SprayFactory_createParticle__P3192(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27780,32 +27604,84 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.p___14294 = undefined; + s.angle___14298 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, controller_Controller__C38524_VT)) failedCast(r0); - r0 = s.arg0.fields["_connected"]; - return leaveAccessor(s, r0) + if (!checkSubtype(r0, particles_SprayFactory__C3190_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleFactory_createParticle__P3188_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1216; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.p___14294 = (r0); + r0 = s.arg0.fields["minAngle"]; + s.tmp_1 = r0; + s.tmp_3 = Math_FastRandom_randomRange__P3062_mk(s); + s.tmp_3.arg0 = globals.galois___5278; + s.tmp_3.arg1 = 0; + r0 = s.arg0.fields["spread"]; + s.tmp_3.arg2 = r0; + s.callLocIdx = 1217; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 % 100); + s.angle___14298 = (r0); + s.tmp_0 = r0 = s.p___14294; + r0 = pxsim_Array__getAt(globals.cachedSin___5273, s.angle___14298); + 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___14294; + r0 = pxsim_Array__getAt(globals.cachedCos___5274, s.angle___14298); + 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___14294; + return leave(s, r0) default: oops() } } } -controller_Controller_connected__P38479.info = {"start":7723,"length":63,"line":250,"column":8,"endLine":252,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this"]} -controller_Controller_connected__P38479.isGetter = true; +particles_SprayFactory_createParticle__P3192.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 controller_Controller_connected__P38479_mk(s) { +function particles_SprayFactory_createParticle__P3192_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Controller_connected__P38479, depth: s.depth + 1, + parent: s, fn: particles_SprayFactory_createParticle__P3192, depth: s.depth + 1, pc: 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___14294: undefined, + angle___14298: undefined, arg0: undefined, + arg1: undefined, } } -function game_currentScene__P38454(s) { +function sprites_SpriteSet_toString__P2473(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27815,30 +27691,53 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tmp_0 = game_init__P39342_mk(s); - s.tmp_0.arg0 = undefined; - s.callLocIdx = 942; s.pc = 1; return s.tmp_0; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C2462_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; - r0 = globals._scene___39331; + 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() } } } -game_currentScene__P38454.info = {"start":4025,"length":90,"line":118,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"currentScene","argumentNames":[]} +sprites_SpriteSet_toString__P2473.info = {"start":2586,"length":66,"line":97,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"toString","argumentNames":["this"]} -function game_currentScene__P38454_mk(s) { +function sprites_SpriteSet_toString__P2473_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_currentScene__P38454, depth: s.depth + 1, + parent: s, fn: sprites_SpriteSet_toString__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, } } -function game_addScenePopHandler__P38440(s) { +function sprites_SpriteSet_length__P2465(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27852,38 +27751,23 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___39334); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C2462_VT)) failedCast(r0); + r0 = s.arg0.fields["_sprites"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = pxsim_Array__mk(); - globals._scenePopHandlers___39334 = (r0); - case 1: - case 2: - r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___39334, 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___39334, s.arg0); - case 3: - case 4: - r0 = undefined; - return leave(s, r0) + r0 = pxsim_Array__length(s.tmp_0); + return leaveAccessor(s, r0) default: oops() } } } -game_addScenePopHandler__P38440.info = {"start":17045,"length":237,"line":503,"column":4,"endLine":507,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePopHandler","argumentNames":["handler"]} +sprites_SpriteSet_length__P2465.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__P2465.isGetter = true; -function game_addScenePopHandler__P38440_mk(s) { +function sprites_SpriteSet_length__P2465_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_addScenePopHandler__P38440, depth: s.depth + 1, + parent: s, fn: sprites_SpriteSet_length__P2465, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, arg0: undefined, } } @@ -27891,63 +27775,7 @@ function game_addScenePopHandler__P38440_mk(s) { -function settings_initScopes__P38358(s) { -let r0 = s.r0, step = 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___49833 = undefined; - s.tmp_1 = settings_runNumber__P38356_mk(s); - s.callLocIdx = 120; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 1); - s.rn___49833 = (r0); - s.tmp_0 = settings_writeNumber__P38364_mk(s); - s.tmp_0.arg0 = globals.RUN_KEY___38345; - s.tmp_0.arg1 = s.rn___49833; - s.callLocIdx = 121; 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___49833); - s.tmp_0 = settings_setScope__P38357_mk(s); - r0 = pxsim_pxtcore.programName(); - s.tmp_0.arg0 = r0; - s.callLocIdx = 122; s.pc = 3; return s.tmp_0; - case 3: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -settings_initScopes__P38358.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__P38358_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: settings_initScopes__P38358, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - rn___49833: undefined, -} } - - - - - -function settings_setScope__P38357(s) { +function particles_ParticleSource___draw__P3156(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -27957,74 +27785,105 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.currScope___49862 = undefined; + s.current___14341 = undefined; + s.left___14344 = undefined; + s.top___14354 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_numops_toBoolDecr(s.arg0); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + r0 = s.arg0.fields["head"]; + s.current___14341 = (r0); + r0 = s.arg0.fields["pFlags"]; s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = (s.tmp_1 & 4); s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 1; continue; } - r0 = s.tmp_0; + r0 = 0; { step = 2; continue; } case 1: - r0 = pxsim_String_.length(s.arg0); + r0 = s.arg1.fields["drawOffsetX"]; s.tmp_2 = r0; - r0 = (s.tmp_2 > 100); + r0 = (s.tmp_2 * 256); + s.tmp_3 = r0; + r0 = (s.tmp_3 | 0); case 2: // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_4 = r0; + s.left___14344 = (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 = pxsim_pxtrt.panic(922); + 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: - s.tmp_0 = settings_readString__P38367_mk(s); - s.tmp_0.arg0 = globals.SCOPE_KEY___38346; - s.callLocIdx = 118; s.pc = 7; return s.tmp_0; - case 7: - r0 = s.retval; - s.currScope___49862 = (r0); - r0 = (s.currScope___49862 != s.arg0); + // jmp value (already in r0) + s.tmp_4 = r0; + s.top___14354 = (s.tmp_4); + case 5: + r0 = pxsim_numops_toBoolDecr(s.current___14341); + if (!r0) { step = 8; continue; } + r0 = s.current___14341.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 = 5; continue; } - r0 = pxsim.settings._userClean(); - s.tmp_0 = settings_writeString__P38362_mk(s); - s.tmp_0.arg0 = globals.SCOPE_KEY___38346; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 119; s.pc = 8; return s.tmp_0; - case 8: + if (!r0) { step = 6; continue; } + s.tmp_2 = particles_ParticleSource_drawParticle__P5264_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.current___14341; + s.tmp_2.arg2 = s.left___14344; + s.tmp_2.arg3 = s.top___14354; + s.callLocIdx = 1151; s.pc = 9; return s.tmp_2; + case 9: r0 = s.retval; - case 5: case 6: + case 7: + r0 = s.current___14341.fields["next"]; + s.current___14341 = (r0); + { step = 5; continue; } + case 8: r0 = undefined; return leave(s, r0) default: oops() } } } -settings_setScope__P38357.info = {"start":826,"length":272,"line":31,"column":4,"endLine":39,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"setScope","argumentNames":["scope"]} +particles_ParticleSource___draw__P3156.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 settings_setScope__P38357_mk(s) { +function particles_ParticleSource___draw__P3156_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_setScope__P38357, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource___draw__P3156, depth: s.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___49862: undefined, + tmp_4: undefined, + current___14341: undefined, + left___14344: undefined, + top___14354: undefined, arg0: undefined, + arg1: undefined, } } -function settings_readString__P38367(s) { +function particles_ParticleSource_drawParticle__P5264(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28034,49 +27893,57 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.buf___49883 = 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.settings._get(s.arg0); - s.buf___49883 = (r0); - r0 = pxsim_numops_toBoolDecr(s.buf___49883); + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C3150_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleFactory__C3186_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 = 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; } + 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__C3186_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 = pxsim.BufferMethods.toString(s.buf___49883); - { step = 3; continue; } - case 2: + r0 = s.retval; r0 = undefined; - case 3: return leave(s, r0) default: oops() } } } -settings_readString__P38367.info = {"start":2827,"length":177,"line":110,"column":4,"endLine":116,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readString","argumentNames":["key"]} +particles_ParticleSource_drawParticle__P5264.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 settings_readString__P38367_mk(s) { +function particles_ParticleSource_drawParticle__P5264_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_readString__P38367, depth: s.depth + 1, + parent: s, fn: particles_ParticleSource_drawParticle__P5264, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - buf___49883: undefined, + tmp_2: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function settings_writeString__P38362(s) { +function particles_ParticleFactory_drawParticle__P3189(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28089,81 +27956,49 @@ switch (step) { 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 = settings_writeBuffer__P38361_mk(s); - s.tmp_0.arg0 = s.arg0; - r0 = pxsim.control.createBufferFromUTF8(s.arg1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 124; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -settings_writeString__P38362.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__P38362_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: settings_writeString__P38362, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - arg0: undefined, - arg1: undefined, -} } - - - - - -function settings_runNumber__P38356(s) { -let r0 = s.r0, step = 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__P38369_mk(s); - s.tmp_1.arg0 = globals.RUN_KEY___38345; - s.callLocIdx = 117; 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) + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleFactory__C3186_VT)) failedCast(r0); + s.tmp_0 = r0 = globals.screen___2032; + r0 = (s.arg2 + 128); s.tmp_2 = r0; - r0 = s.tmp_2; + 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() } } } -settings_runNumber__P38356.info = {"start":745,"length":75,"line":27,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"runNumber","argumentNames":[]} +particles_ParticleFactory_drawParticle__P3189.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 settings_runNumber__P38356_mk(s) { +function particles_ParticleFactory_drawParticle__P3189_mk(s) { checkStack(s.depth); return { - parent: s, fn: settings_runNumber__P38356, depth: s.depth + 1, + parent: s, fn: particles_ParticleFactory_drawParticle__P3189, depth: s.depth + 1, pc: 0, retval: 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 control___screen_setupUpdate__P38292(s) { +function sprites_SpriteMap_toString__P2453(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28177,26 +28012,70 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - globals.__updated___38290 = (true); - globals.__update___38288 = (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 = 111; s.pc = 1; return s.tmp_0; + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_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; - r0 = undefined; + 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__P14417; + s.callLocIdx = 514; s.pc = 2; return s.tmp_10; + case 2: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim_Array__length(s.tmp_9); + s.tmp_8 = r0; + if ((s.tmp_8) && (s.tmp_8).vtable) { + setupResume(s, 3); + pxsim_String__stringConv(s.tmp_8); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_8) + ""; } + case 3: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_7); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, " filled"); return leave(s, r0) default: oops() } } } -control___screen_setupUpdate__P38292.info = {"start":198,"length":125,"line":10,"column":4,"endLine":14,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"setupUpdate","argumentNames":["update"]} +sprites_SpriteMap_toString__P2453.info = {"start":4109,"length":123,"line":112,"column":8,"endLine":114,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"toString","argumentNames":["this"]} -function control___screen_setupUpdate__P38292_mk(s) { +function sprites_SpriteMap_toString__P2453_mk(s) { checkStack(s.depth); return { - parent: s, fn: control___screen_setupUpdate__P38292, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_toString__P2453, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -28204,7 +28083,7 @@ function control___screen_setupUpdate__P38292_mk(s) { -function _screen_internal_getScreenHeight__P38329(s) { +function length_inline__P14417(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28218,17 +28097,26 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = pxsim_pxtcore.getConfig(2103, s.arg0); + 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() } } } -_screen_internal_getScreenHeight__P38329.info = {"start":960,"length":127,"line":28,"column":4,"endLine":30,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"getScreenHeight","argumentNames":["defl"]} +length_inline__P14417.info = {"start":4196,"length":8,"line":113,"column":74,"endLine":113,"endColumn":82,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["b"]} -function _screen_internal_getScreenHeight__P38329_mk(s) { +function length_inline__P14417_mk(s) { checkStack(s.depth); return { - parent: s, fn: _screen_internal_getScreenHeight__P38329, depth: s.depth + 1, + parent: s, fn: length_inline__P14417, 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, } } @@ -28236,7 +28124,7 @@ function _screen_internal_getScreenHeight__P38329_mk(s) { -function _screen_internal_getScreenWidth__P38327(s) { +function ArcadePhysicsEngine_moveSprite__P2540(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28246,106 +28134,206 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.tm___14449 = undefined; + s.maxDist___14457 = undefined; + s.ms___14477 = 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_pxtcore.getConfig(2102, s.arg0); - return leave(s, r0) - default: oops() -} } } -_screen_internal_getScreenWidth__P38327.info = {"start":810,"length":125,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"getScreenWidth","argumentNames":["defl"]} - -function _screen_internal_getScreenWidth__P38327_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: _screen_internal_getScreenWidth__P38327, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, -} } - - - - - -function control___screen_update__P38291(s) { -let r0 = s.r0, 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___38288); - if (!r0) { step = 1; continue; } - s.tmp_0 = lambda_1_mk(s); - s.tmp_0.argL = globals.__update___38288; - setupLambda(s.tmp_0, s.tmp_0.argL); - s.callLocIdx = 110; s.pc = 3; return s.tmp_0; - case 3: + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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__P2998_mk(s); + s.callLocIdx = 751; s.pc = 13; return s.tmp_0; + case 13: r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tm___14449 = (r0); + s.tmp_0 = r0 = s.tm___14449; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } case 1: + r0 = s.tm___14449.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: - globals.__updated___38290 = (true); - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -control___screen_update__P38291.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__P38291_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: control___screen_update__P38291, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, -} } - - - - - -function pause__P37835(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && 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: + // 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___14457 = (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 = 755; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.maxDist___14457); + 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 = 757; s.pc = 15; return s.tmp_5; + case 15: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 <= s.maxDist___14457); + 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__C2524_VT); + s.tmp_8 = r0; + s.tmp_9 = MovingSprite_constructor__P2525_mk(s); + s.tmp_9.arg0 = s.tmp_8; + s.tmp_9.arg1 = s.arg1; + r0 = s.arg1.fields["_vx"]; + s.tmp_9.arg2 = r0; + r0 = s.arg1.fields["_vy"]; + s.tmp_9.arg3 = r0; + s.tmp_9.arg4 = s.arg2; + s.tmp_9.arg5 = s.arg3; + s.tmp_9.arg6 = s.arg2; + s.tmp_9.arg7 = s.arg3; + s.callLocIdx = 758; s.pc = 16; return s.tmp_9; + case 16: + r0 = s.retval; + s.ms___14477 = (s.tmp_8); + s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P4778_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.ms___14477; + s.tmp_0.arg2 = s.tm___14449; + s.callLocIdx = 759; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + { step = 10; continue; } + case 5: + s.tmp_1 = tiles_TileMap_isOnWall__P2757_mk(s); + s.tmp_1.arg0 = s.tm___14449; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 760; s.pc = 18; return s.tmp_1; + case 18: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 6; continue; } + r0 = s.tmp_0; + { step = 7; continue; } + case 6: + s.tmp_4 = ArcadePhysicsEngine_canResolveClipping__P4780_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.arg1; + s.tmp_4.arg2 = s.tm___14449; + s.callLocIdx = 761; s.pc = 19; return s.tmp_4; + case 19: r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 7: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 8; continue; } + s.tmp_6 = r0 = s.arg1; + r0 = s.tmp_6.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 | 256); + s.tmp_7 = r0; + r0 = (s.tmp_6).fields["flags"] = (s.tmp_7); + { step = 9; continue; } + case 8: + s.tmp_0 = r0 = s.arg1; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -257); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + case 9: + case 10: + case 11: + case 12: r0 = undefined; return leave(s, r0) default: oops() } } } -pause__P37835.info = {"start":246,"length":57,"line":7,"column":0,"endLine":9,"endColumn":1,"fileName":"pxt_modules/base/pause.ts","functionName":"pause","argumentNames":["ms"]} +ArcadePhysicsEngine_moveSprite__P2540.info = {"start":23898,"length":1208,"line":654,"column":4,"endLine":685,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]} -function pause__P37835_mk(s) { +function ArcadePhysicsEngine_moveSprite__P2540_mk(s) { checkStack(s.depth); return { - parent: s, fn: pause__P37835, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_moveSprite__P2540, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___14449: undefined, + maxDist___14457: undefined, + ms___14477: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function music_Melody_toString__P37982(s) { +function ArcadePhysicsEngine_canResolveClipping__P4780(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28355,216 +28343,281 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.hbox___14522 = undefined; + s.sz___14525 = undefined; + s.maxMove___14530 = undefined; + s.origY___14532 = undefined; + s.origX___14535 = undefined; + s.l___14538 = undefined; + s.r___14543 = undefined; + s.t___14548 = undefined; + s.b___14553 = undefined; + s.offset___14558 = undefined; + s.offset___14583 = undefined; + s.offset___14614 = undefined; + s.offset___14639 = 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__C37972_VT)) failedCast(r0); - r0 = s.arg0.fields["_text"]; - return leave(s, r0) - default: oops() -} } } -music_Melody_toString__P37982.info = {"start":10223,"length":53,"line":318,"column":8,"endLine":320,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"toString","argumentNames":["this"]} - -function music_Melody_toString__P37982_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: music_Melody_toString__P37982, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, -} } - - - - - -function particles_ShapeFactory_createParticle__P39845(s) { -let r0 = s.r0, step = 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___49924 = 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__C39841_VT)) failedCast(r0); - s.tmp_0 = particles_AreaFactory_createParticle__P39833_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1245; s.pc = 1; return s.tmp_0; - case 1: + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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__C2340_v4_1_mk(s); + s.tmp_4.arg0 = s.arg1; + if (!checkSubtype(s.tmp_4.arg0, Sprite__C2340_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; + s.pc = 20; return s.tmp_4; + case 20: r0 = s.retval; - s.p___49924 = (r0); - s.tmp_0 = r0 = s.p___49924; - s.tmp_2 = Math_FastRandom_randomRange__P39624_mk(s); - r0 = s.arg0.fields["galois"]; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = 1; - s.tmp_2.arg2 = 14; - s.callLocIdx = 1246; s.pc = 2; return s.tmp_2; + case 1: case 2: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["color"] = (s.tmp_1); - r0 = s.p___49924; - return leave(s, r0) - default: oops() -} } } -particles_ShapeFactory_createParticle__P39845.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__P39845_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: particles_ShapeFactory_createParticle__P39845, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - p___49924: undefined, - arg0: undefined, - arg1: undefined, -} } - - - - - -function particles_AreaFactory_createParticle__P39833(s) { -let r0 = s.r0, step = 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___49937 = 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__C39831_VT)) failedCast(r0); - s.tmp_0 = particles_SprayFactory_createParticle__P39826_mk(s); + r0 = s.arg1.fields["_hitbox"]; + s.hbox___14522 = (r0); + r0 = s.arg2.fields["_scale"]; + s.tmp_0 = r0; + r0 = (1 << s.tmp_0); + s.sz___14525 = (r0); + s.tmp_0 = ArcadePhysicsEngine_maxStep__P2532_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1227; s.pc = 3; return s.tmp_0; - case 3: + s.callLocIdx = 764; s.pc = 21; return s.tmp_0; + case 21: r0 = s.retval; - s.p___49937 = (r0); - s.tmp_0 = r0 = s.p___49937; - s.tmp_2 = Math_FastRandom_randomRange__P39624_mk(s); - r0 = s.arg0.fields["galois"]; - s.tmp_2.arg0 = r0; - r0 = s.arg0.fields["minLifespan"]; - s.tmp_2.arg1 = r0; - r0 = s.arg0.fields["maxLifespan"]; - s.tmp_2.arg2 = r0; - s.callLocIdx = 1228; s.pc = 4; return s.tmp_2; - case 4: + s.maxMove___14530 = (r0); + r0 = s.arg1.fields["_y"]; + s.origY___14532 = (r0); + r0 = s.arg1.fields["_x"]; + s.origX___14535 = (r0); + s.tmp_1 = game_Hitbox_left__P2216_mk(s); + s.tmp_1.arg0 = s.hbox___14522; + s.callLocIdx = 765; s.pc = 22; return s.tmp_1; + case 22: r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1); - s.tmp_0 = r0 = s.p___49937; - s.tmp_4 = Math_FastRandom_randomRange__P39624_mk(s); - r0 = s.arg0.fields["galois"]; - s.tmp_4.arg0 = r0; - s.tmp_4.arg1 = 0; - r0 = s.arg0.fields["xRange"]; - s.tmp_4.arg2 = r0; - s.callLocIdx = 1229; s.pc = 5; return s.tmp_4; - case 5: + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.l___14538 = (r0); + s.tmp_1 = game_Hitbox_right__P2218_mk(s); + s.tmp_1.arg0 = s.hbox___14522; + s.callLocIdx = 767; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.r___14543 = (r0); + s.tmp_1 = game_Hitbox_top__P2217_mk(s); + s.tmp_1.arg0 = s.hbox___14522; + s.callLocIdx = 769; s.pc = 24; return s.tmp_1; + case 24: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.t___14548 = (r0); + s.tmp_1 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_1.arg0 = s.hbox___14522; + s.callLocIdx = 771; s.pc = 25; return s.tmp_1; + case 25: r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.b___14553 = (r0); + r0 = (s.b___14553 + 1); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.sz___14525); + s.offset___14558 = (r0); + r0 = (s.offset___14558 <= s.maxMove___14530); + 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.arg0.fields["xRange"]; - s.tmp_6 = r0; - r0 = (s.tmp_6 >> 1); + r0 = (s.offset___14558 * 256); s.tmp_5 = r0; - r0 = (s.tmp_3 - s.tmp_5); + r0 = (s.tmp_5 | 0); + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); s.tmp_2 = r0; - r0 = s.p___49937.fields["_x"]; - s.tmp_7 = r0; - r0 = (s.tmp_2 << 8); - s.tmp_8 = r0; - r0 = (s.tmp_8 + s.tmp_7); + r0 = (s.tmp_1).fields["_y"] = (s.tmp_2); + s.tmp_3 = tiles_TileMap_isOnWall__P2757_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 775; s.pc = 26; return s.tmp_3; + case 26: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); - s.tmp_1 = if_height_1_mk(s); - s.tmp_1.arg0 = s.arg1; - if (!s.tmp_1.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "height"); - } else { - s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["height"]; - if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["height"]; } - else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } - else { s.callLocIdx = 1232; s.pc = 6; return s.tmp_1; } - } + 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___14532); + case 4: + case 5: case 6: + r0 = (s.t___14548 / s.sz___14525); + 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___14525); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.t___14548); + s.offset___14583 = (r0); + r0 = (s.offset___14583 <= s.maxMove___14530); + 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___14583 * 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__P2757_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 778; s.pc = 27; return s.tmp_3; + case 27: r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_3 = if_height_1_mk(s); - s.tmp_3.arg0 = s.arg1; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "height"); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["height"]; - if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["height"]; } - else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } - else { s.callLocIdx = 1233; s.pc = 7; return s.tmp_3; } - } + if (!r0) { step = 7; continue; } + r0 = true; + { step = 19; continue; } + { step = 8; continue; } case 7: + r0 = (s.arg1).fields["_y"] = (s.origY___14532); + case 8: + case 9: + case 10: + r0 = (s.r___14543 + 1); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.sz___14525); + s.offset___14614 = (r0); + r0 = (s.offset___14614 <= s.maxMove___14530); + 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___14614 * 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__P2757_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 781; s.pc = 28; return s.tmp_3; + case 28: r0 = s.retval; s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); - { step = 2; continue; } - case 1: - r0 = 0; - case 2: - // jmp value (already in 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___14535); + case 12: + case 13: + case 14: + r0 = (s.l___14538 / s.sz___14525); + 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___14525); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.l___14538); + s.offset___14639 = (r0); + r0 = (s.offset___14639 <= s.maxMove___14530); + 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___14639 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); s.tmp_4 = r0; - s.tmp_5 = r0 = s.p___49937; - s.tmp_9 = Math_FastRandom_randomRange__P39624_mk(s); - r0 = s.arg0.fields["galois"]; - s.tmp_9.arg0 = r0; - s.tmp_9.arg1 = 0; - r0 = s.arg0.fields["yRange"]; - s.tmp_9.arg2 = r0; - s.callLocIdx = 1231; s.pc = 8; return s.tmp_9; - case 8: + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_x"] = (s.tmp_2); + s.tmp_3 = tiles_TileMap_isOnWall__P2757_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 784; s.pc = 29; return s.tmp_3; + case 29: r0 = s.retval; - s.tmp_8 = r0; - r0 = (s.tmp_8 - s.tmp_4); - s.tmp_7 = r0; - r0 = s.p___49937.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___49937; + 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___14535); + case 16: + case 17: + case 18: + r0 = false; + case 19: return leave(s, r0) default: oops() } } } -particles_AreaFactory_createParticle__P39833.info = {"start":4334,"length":426,"line":148,"column":8,"endLine":156,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} +ArcadePhysicsEngine_canResolveClipping__P4780.info = {"start":25202,"length":2135,"line":688,"column":4,"endLine":759,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"canResolveClipping","argumentNames":["this","s","tm"]} -function particles_AreaFactory_createParticle__P39833_mk(s) { +function ArcadePhysicsEngine_canResolveClipping__P4780_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_AreaFactory_createParticle__P39833, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_canResolveClipping__P4780, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -28572,22 +28625,29 @@ function particles_AreaFactory_createParticle__P39833_mk(s) { 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___49937: undefined, + hbox___14522: undefined, + sz___14525: undefined, + maxMove___14530: undefined, + origY___14532: undefined, + origX___14535: undefined, + l___14538: undefined, + r___14543: undefined, + t___14548: undefined, + b___14553: undefined, + offset___14558: undefined, + offset___14583: undefined, + offset___14614: undefined, + offset___14639: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, } } -function Fx_iadd__P37633(s) { +function Sprite_isStatic__P2394(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28599,32 +28659,32 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = (s.arg0 << 8); + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; s.tmp_0 = r0; - r0 = (s.tmp_0 + s.arg1); + r0 = pxsim_ImageMethods.isStatic(s.tmp_0); return leave(s, r0) default: oops() } } } -Fx_iadd__P37633.info = {"start":634,"length":110,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"iadd","argumentNames":["a","b"]} +Sprite_isStatic__P2394.info = {"start":9841,"length":57,"line":355,"column":4,"endLine":357,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isStatic","argumentNames":["this"]} -function Fx_iadd__P37633_mk(s) { +function Sprite_isStatic__P2394_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_iadd__P37633, depth: s.depth + 1, + parent: s, fn: Sprite_isStatic__P2394, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, - arg1: undefined, } } -function particles_SprayFactory_createParticle__P39826(s) { +function game_Hitbox_bottom__P2219(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28634,84 +28694,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.p___49994 = undefined; - s.angle___49998 = 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__C39824_VT)) failedCast(r0); - s.tmp_0 = particles_ParticleFactory_createParticle__P39821_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 1216; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.p___49994 = (r0); - r0 = s.arg0.fields["minAngle"]; + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + r0 = s.arg0.fields["height"]; s.tmp_1 = r0; - s.tmp_3 = Math_FastRandom_randomRange__P39624_mk(s); - s.tmp_3.arg0 = globals.galois___39803; - s.tmp_3.arg1 = 0; - r0 = s.arg0.fields["spread"]; - s.tmp_3.arg2 = r0; - s.callLocIdx = 1217; s.pc = 2; return s.tmp_3; - case 2: + s.tmp_3 = game_Hitbox_top__P2217_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 226; 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 % 100); - s.angle___49998 = (r0); - s.tmp_0 = r0 = s.p___49994; - r0 = pxsim_Array__getAt(globals.cachedSin___39798, s.angle___49998); - 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___49994; - r0 = pxsim_Array__getAt(globals.cachedCos___39799, s.angle___49998); - 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___49994; - return leave(s, r0) + r0 = (s.tmp_0 - 256); + return leaveAccessor(s, r0) default: oops() } } } -particles_SprayFactory_createParticle__P39826.info = {"start":2851,"length":333,"line":105,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} +game_Hitbox_bottom__P2219.info = {"start":786,"length":139,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"bottom","argumentNames":["this"]} +game_Hitbox_bottom__P2219.isGetter = true; -function particles_SprayFactory_createParticle__P39826_mk(s) { +function game_Hitbox_bottom__P2219_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_SprayFactory_createParticle__P39826, depth: s.depth + 1, + parent: s, fn: game_Hitbox_bottom__P2219, depth: s.depth + 1, pc: 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___49994: undefined, - angle___49998: undefined, arg0: undefined, - arg1: undefined, } } -function sprites_SpriteSet_toString__P38778(s) { +function game_Hitbox_right__P2218(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28726,40 +28748,33 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_SpriteSet__C38768_VT)) failedCast(r0); - r0 = pxsim_String_.mkEmpty(); + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + r0 = s.arg0.fields["width"]; 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) + ""; } + s.tmp_3 = game_Hitbox_left__P2216_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 223; s.pc = 1; return s.tmp_3; case 1: r0 = s.retval; s.tmp_2 = r0; - r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + r0 = (s.tmp_1 + s.tmp_2); s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, " sprites"); - return leave(s, r0) + r0 = (s.tmp_0 - 256); + return leaveAccessor(s, r0) default: oops() } } } -sprites_SpriteSet_toString__P38778.info = {"start":2586,"length":66,"line":97,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"toString","argumentNames":["this"]} +game_Hitbox_right__P2218.info = {"start":638,"length":138,"line":26,"column":8,"endLine":31,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"right","argumentNames":["this"]} +game_Hitbox_right__P2218.isGetter = true; -function sprites_SpriteSet_toString__P38778_mk(s) { +function game_Hitbox_right__P2218_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteSet_toString__P38778, depth: s.depth + 1, + parent: s, fn: game_Hitbox_right__P2218, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, - tmp_4: undefined, arg0: undefined, } } @@ -28767,7 +28782,7 @@ function sprites_SpriteSet_toString__P38778_mk(s) { -function sprites_SpriteSet_length__P38770(s) { +function game_Hitbox_top__P2217(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28782,22 +28797,26 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_SpriteSet__C38768_VT)) failedCast(r0); - r0 = s.arg0.fields["_sprites"]; + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + r0 = s.arg0.fields["oy"]; s.tmp_0 = r0; - r0 = pxsim_Array__length(s.tmp_0); + r0 = s.arg0.fields["parent"]; + r0 = r0.fields["_y"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); return leaveAccessor(s, r0) default: oops() } } } -sprites_SpriteSet_length__P38770.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__P38770.isGetter = true; +game_Hitbox_top__P2217.info = {"start":555,"length":73,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"top","argumentNames":["this"]} +game_Hitbox_top__P2217.isGetter = true; -function sprites_SpriteSet_length__P38770_mk(s) { +function game_Hitbox_top__P2217_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteSet_length__P38770, depth: s.depth + 1, + parent: s, fn: game_Hitbox_top__P2217, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, arg0: undefined, } } @@ -28805,7 +28824,7 @@ function sprites_SpriteSet_length__P38770_mk(s) { -function particles_ParticleSource___draw__P39762(s) { +function game_Hitbox_left__P2216(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28815,105 +28834,39 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.current___50041 = undefined; - s.left___50044 = undefined; - s.top___50054 = 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__C39760_VT)) failedCast(r0); - r0 = s.arg0.fields["head"]; - s.current___50041 = (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___50044 = (s.tmp_4); - r0 = s.arg0.fields["pFlags"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 & 4); + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + r0 = s.arg0.fields["ox"]; 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___50054 = (s.tmp_4); - case 5: - r0 = pxsim_numops_toBoolDecr(s.current___50041); - if (!r0) { step = 8; continue; } - r0 = s.current___50041.fields["lifespan"]; + r0 = s.arg0.fields["parent"]; + r0 = r0.fields["_x"]; 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__P39777_mk(s); - s.tmp_2.arg0 = s.arg0; - s.tmp_2.arg1 = s.current___50041; - s.tmp_2.arg2 = s.left___50044; - s.tmp_2.arg3 = s.top___50054; - s.callLocIdx = 1151; s.pc = 9; return s.tmp_2; - case 9: - r0 = s.retval; - case 6: - case 7: - r0 = s.current___50041.fields["next"]; - s.current___50041 = (r0); - { step = 5; continue; } - case 8: - r0 = undefined; - return leave(s, r0) + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) default: oops() } } } -particles_ParticleSource___draw__P39762.info = {"start":3216,"length":468,"line":112,"column":8,"endLine":122,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"__draw","argumentNames":["this","camera"]} +game_Hitbox_left__P2216.info = {"start":471,"length":74,"line":18,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"left","argumentNames":["this"]} +game_Hitbox_left__P2216.isGetter = true; -function particles_ParticleSource___draw__P39762_mk(s) { +function game_Hitbox_left__P2216_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ParticleSource___draw__P39762, depth: s.depth + 1, + parent: s, fn: game_Hitbox_left__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, - current___50041: undefined, - left___50044: undefined, - top___50054: undefined, arg0: undefined, - arg1: undefined, } } -function particles_ParticleSource_drawParticle__P39777(s) { +function ArcadePhysicsEngine_tilemapCollisions__P4778(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -28923,1010 +28876,1011 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.s___14799 = undefined; + s.hbox___14824 = undefined; + s.tileScale___14827 = undefined; + s.tileSize___14830 = undefined; + s.xDiff___14834 = undefined; + s.yDiff___14841 = undefined; + s.right___14857 = undefined; + s.x0___14861 = undefined; + s.collidedTiles___14876 = undefined; + s.y___14878 = undefined; + s.y0___14892 = undefined; + s.obstacle___14908 = undefined; + s.collisionDirection___14935 = undefined; + s.tile___14961 = undefined; + s.unnamed80___U14 = undefined; + s.unnamed81___U15 = undefined; + s.down___15052 = undefined; + s.y0___15056 = undefined; + s.collidedTiles___15071 = undefined; + s.x___15073 = undefined; + s.x0___15083 = undefined; + s.obstacle___15097 = undefined; + s.collisionDirection___15124 = undefined; + s.tile___15150 = undefined; + s.unnamed82___U24 = undefined; + s.unnamed83___U25 = undefined; + s.overlappedTiles___15244 = undefined; + s.x___15246 = undefined; + s.x0___15256 = undefined; + s.y___15266 = undefined; + s.y0___15276 = 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__C39760_VT)) failedCast(r0); - s.tmp_0 = particles_ParticleFactory__C39820_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"]; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = s.arg1.fields["sprite"]; + s.s___14799 = (r0); + r0 = s.s___14799.fields["flags"]; 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__C39820_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.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__P2757_mk(s); + s.tmp_5.arg0 = s.arg2; + s.tmp_5.arg1 = s.s___14799; + s.callLocIdx = 647; s.pc = 97; return s.tmp_5; + case 97: r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -particles_ParticleSource_drawParticle__P39777.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__P39777_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: particles_ParticleSource_drawParticle__P39777, 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__P39822(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39820_VT)) failedCast(r0); - s.tmp_0 = r0 = globals.screen___38324; - 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); + r0 = pxsim_numops_toBoolDecr(s.tmp_4); 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__P39822.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__P39822_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: particles_ParticleFactory_drawParticle__P39822, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, -} } - - - - - -function scene_BackgroundLayer_constructor__P39046(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39044_VT)) failedCast(r0); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = Math_max__P37596_mk(s); - s.tmp_2.arg0 = 1; - s.tmp_2.arg1 = s.arg1; - s.callLocIdx = 794; s.pc = 7; return s.tmp_2; - case 7: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["distance"] = (s.tmp_1); - r0 = (s.arg0).fields["img"] = (s.arg3); - s.tmp_0 = r0 = s.arg2; - r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0); - if (r0) { step = 1; continue; } - r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); - if (r0) { step = 2; continue; } - r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); - if (r0) { step = 3; continue; } - r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); - if (r0) { step = 4; continue; } - r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); - if (r0) { step = 5; continue; } - r0 = s.tmp_0; - { step = 6; continue; } + 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___14799; + 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: - 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__P39046.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__P39046_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: scene_BackgroundLayer_constructor__P39046, 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 tiles_TileMapData_constructor__P39087(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39075_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__P39079_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg4; - s.callLocIdx = 808; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.tmp_0 = r0 = s.arg0; - r0 = pxsim.BufferMethods.getNumber(s.arg1, 4, 0); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_width"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = pxsim.BufferMethods.getNumber(s.arg1, 4, 2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_height"] = (s.tmp_1); - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -tiles_TileMapData_constructor__P39087.info = {"start":6048,"length":358,"line":204,"column":8,"endLine":212,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","data","layers","tileset","scale"]} - -function tiles_TileMapData_constructor__P39087_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMapData_constructor__P39087, 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__P39079(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C39075_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__P39079.info = {"start":6640,"length":102,"line":226,"column":8,"endLine":229,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this","s"]} - -function tiles_TileMapData_scale__P39079_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMapData_scale__P39079, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - arg0: undefined, - arg1: undefined, -} } - - - - - -function tiles_TileMapData_scale__P39078(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C39075_VT)) failedCast(r0); - r0 = s.arg0.fields["_scale"]; - return leaveAccessor(s, r0) - default: oops() -} } } -tiles_TileMapData_scale__P39078.info = {"start":6564,"length":66,"line":222,"column":8,"endLine":224,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} -tiles_TileMapData_scale__P39078.isGetter = true; - -function tiles_TileMapData_scale__P39078_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMapData_scale__P39078, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, -} } - - - - - -function tiles_TileMap_constructor__P39117(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C39090_VT)) failedCast(r0); - r0 = (s.arg0).fields["_layer"] = (1); - s.tmp_0 = tiles_TileMap_scale__P39092_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 814; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = pxsim_pxtcore_mkAction(1, tiles_TileMap_inline__P52921); - 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__P39158_mk(s); - s.tmp_3.arg0 = -1; - s.tmp_3.arg1 = s.tmp_0; - s.tmp_3.arg2 = undefined; - s.callLocIdx = 816; s.pc = 2; return s.tmp_3; - case 2: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_1).fields["renderable"] = (s.tmp_2); - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -tiles_TileMap_constructor__P39117.info = {"start":8927,"length":268,"line":300,"column":8,"endLine":308,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","scale"]} - -function tiles_TileMap_constructor__P39117_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMap_constructor__P39117, depth: s.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__P52921(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== 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__P39110_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = s.arg0; - s.tmp_0.arg2 = s.arg1; - s.callLocIdx = 815; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -tiles_TileMap_inline__P52921.info = {"start":9145,"length":25,"line":306,"column":16,"endLine":306,"endColumn":41,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["t","c"]} - -function tiles_TileMap_inline__P52921_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMap_inline__P52921, 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__P39110(s) { -let r0 = s.r0, step = 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___52932 = undefined; - s.offsetX___52938 = undefined; - s.offsetY___52943 = undefined; - s.x0___52948 = undefined; - s.xn___52955 = undefined; - s.y0___52972 = undefined; - s.yn___52979 = undefined; - s.x___52996 = undefined; - s.y___53002 = undefined; - s.index___53008 = undefined; - s.tile___53015 = undefined; - s.x___53051 = undefined; - s.xLine___53057 = undefined; - s.y___53084 = undefined; - s.yLine___53090 = 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__C39090_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); + r0 = s.s___14799.fields["_image"]; s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); + 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; } - { 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___52932 = (r0); - r0 = s.arg2.fields["drawOffsetX"]; + if (!r0) { step = 5; continue; } + s.tmp_4 = Sprite__C2340_v4_1_mk(s); + s.tmp_4.arg0 = s.s___14799; + if (!checkSubtype(s.tmp_4.arg0, Sprite__C2340_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; + s.pc = 98; return s.tmp_4; + case 98: + r0 = s.retval; + case 5: + case 6: + r0 = s.s___14799.fields["_hitbox"]; + s.hbox___14824 = (r0); + r0 = s.arg2.fields["_scale"]; + s.tileScale___14827 = (r0); + r0 = (1 << s.tileScale___14827); + s.tileSize___14830 = (r0); + r0 = s.s___14799.fields["_x"]; s.tmp_0 = r0; - r0 = (s.tmp_0 & s.bitmask___52932); - s.offsetX___52938 = (r0); - r0 = s.arg2.fields["drawOffsetY"]; + r0 = s.s___14799.fields["_lastX"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.xDiff___14834 = (r0); + r0 = s.s___14799.fields["_y"]; s.tmp_0 = r0; - r0 = (s.tmp_0 & s.bitmask___52932); - s.offsetY___52943 = (r0); - s.tmp_0 = Math_max__P37596_mk(s); - s.tmp_0.arg0 = 0; - r0 = s.arg2.fields["drawOffsetX"]; + r0 = s.s___14799.fields["_lastY"]; s.tmp_1 = r0; - r0 = s.arg0.fields["_scale"]; + r0 = (s.tmp_0 - s.tmp_1); + s.yDiff___14841 = (r0); + r0 = s.s___14799.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 2818); s.tmp_2 = r0; - r0 = (s.tmp_1 >> s.tmp_2); - s.tmp_0.arg1 = r0; - s.callLocIdx = 834; s.pc = 24; return s.tmp_0; - case 24: - r0 = s.retval; - s.x0___52948 = (r0); - s.tmp_0 = Math_min__P37597_mk(s); - r0 = s.arg0.fields["_map"]; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); s.tmp_1 = r0; - r0 = s.tmp_1.fields["_width"]; - s.tmp_0.arg0 = r0; - r0 = s.arg2.fields["drawOffsetX"]; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 83; continue; } + r0 = (s.xDiff___14834 !== 0); s.tmp_4 = r0; - r0 = pxsim_ImageMethods.width(s.arg1); - s.tmp_5 = r0; - r0 = (s.tmp_4 + s.tmp_5); - s.tmp_3 = r0; - r0 = s.arg0.fields["_scale"]; - s.tmp_6 = r0; - r0 = (s.tmp_3 >> s.tmp_6); - s.tmp_2 = r0; - r0 = (s.tmp_2 + 1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 837; s.pc = 25; return s.tmp_0; - case 25: + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 43; continue; } + r0 = (s.xDiff___14834 > 0); + s.right___14857 = (r0); + r0 = pxsim_numops_toBoolDecr(s.right___14857); + if (!r0) { step = 7; continue; } + s.tmp_1 = game_Hitbox_right__P2218_mk(s); + s.tmp_1.arg0 = s.hbox___14824; + s.callLocIdx = 652; s.pc = 99; return s.tmp_1; + case 99: r0 = s.retval; - s.xn___52955 = (r0); - s.tmp_0 = Math_max__P37596_mk(s); - s.tmp_0.arg0 = 0; - r0 = s.arg2.fields["drawOffsetY"]; - s.tmp_1 = r0; - r0 = s.arg0.fields["_scale"]; - s.tmp_2 = r0; - r0 = (s.tmp_1 >> s.tmp_2); - s.tmp_0.arg1 = r0; - s.callLocIdx = 839; s.pc = 26; return s.tmp_0; - case 26: + s.tmp_0 = r0; + r0 = (s.tmp_0 + 256); + { step = 8; continue; } + case 7: + s.tmp_3 = game_Hitbox_left__P2216_mk(s); + s.tmp_3.arg0 = s.hbox___14824; + s.callLocIdx = 654; s.pc = 100; return s.tmp_3; + case 100: r0 = s.retval; - s.y0___52972 = (r0); - s.tmp_0 = Math_min__P37597_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_2 = r0; + r0 = (s.tmp_2 - 256); + case 8: + // jmp value (already in r0) s.tmp_4 = r0; - r0 = pxsim_ImageMethods.height(s.arg1); + r0 = (s.tmp_4 + 128); s.tmp_5 = r0; - r0 = (s.tmp_4 + s.tmp_5); - s.tmp_3 = r0; - r0 = s.arg0.fields["_scale"]; + r0 = (s.tileScale___14827 + 8); s.tmp_6 = r0; - r0 = (s.tmp_3 >> s.tmp_6); - s.tmp_2 = r0; - r0 = (s.tmp_2 + 1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 842; s.pc = 27; return s.tmp_0; - case 27: + r0 = (s.tmp_5 >> s.tmp_6); + s.x0___14861 = (r0); + r0 = pxsim_Array__mk(); + s.collidedTiles___14876 = (r0); + s.tmp_1 = game_Hitbox_top__P2217_mk(s); + s.tmp_1.arg0 = s.hbox___14824; + s.callLocIdx = 658; s.pc = 101; return s.tmp_1; + case 101: r0 = s.retval; - s.yn___52979 = (r0); - s.x___52996 = (s.x0___52948); - case 3: - r0 = (s.x___52996 <= s.xn___52955); s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 8; continue; } - s.y___53002 = (s.y0___52972); - case 4: - r0 = (s.y___53002 <= s.yn___52979); + r0 = (s.tmp_0 - s.yDiff___14841); + s.y___14878 = (r0); + case 9: + s.tmp_1 = r0 = s.y___14878; + s.tmp_3 = r0 = s.tileSize___14830; + s.tmp_6 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_6.arg0 = s.hbox___14824; + s.callLocIdx = 660; s.pc = 102; return s.tmp_6; + case 102: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.yDiff___14841); + 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 = 7; continue; } - s.tmp_1 = tiles_TileMapData_getTile__P39080_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.x___52996; - s.tmp_1.arg2 = s.y___53002; - s.callLocIdx = 843; s.pc = 28; return s.tmp_1; - case 28: + if (!r0) { step = 14; continue; } + s.tmp_10 = Fx_min__P166_mk(s); + s.tmp_10.arg0 = s.y___14878; + s.tmp_12 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_12.arg0 = s.hbox___14824; + s.callLocIdx = 663; s.pc = 104; return s.tmp_12; + case 104: r0 = s.retval; - s.index___53008 = (r0); - s.tmp_0 = tiles_TileMapData_getTileImage__P39083_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.index___53008; - s.callLocIdx = 844; s.pc = 29; return s.tmp_0; - case 29: + s.tmp_11 = r0; + r0 = (s.tmp_11 - s.yDiff___14841); + s.tmp_10.arg1 = r0; + s.callLocIdx = 665; s.pc = 103; return s.tmp_10; + case 103: r0 = s.retval; - s.tile___53015 = (r0); - r0 = pxsim_numops_toBoolDecr(s.tile___53015); - if (!r0) { step = 5; continue; } - s.tmp_0 = r0 = s.arg1; - s.tmp_1 = r0 = s.tile___53015; - r0 = (s.x___52996 - s.x0___52948); - 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___52938); - s.tmp_2 = r0; - r0 = (s.y___53002 - s.y0___52972); - 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___52943); - 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___53002 + 1); - s.y___53002 = (r0); - { step = 4; continue; } - case 7: - r0 = (s.x___52996 + 1); - s.x___52996 = (r0); - { step = 3; continue; } - case 8: - r0 = pxsim_numops_toBoolDecr(globals.debug___39308); - if (!r0) { step = 21; continue; } - s.x___53051 = (s.x0___52948); - case 9: - r0 = (s.x___53051 <= s.xn___52955); + r0 = (s.tmp_9 + 128); + s.tmp_8 = r0; + r0 = (s.tileScale___14827 + 8); + s.tmp_13 = r0; + r0 = (s.tmp_8 >> s.tmp_13); + s.y0___14892 = (r0); + s.tmp_1 = tiles_TileMap_isObstacle__P2755_mk(s); + s.tmp_1.arg0 = s.arg2; + s.tmp_1.arg1 = s.x0___14861; + s.tmp_1.arg2 = s.y0___14892; + s.callLocIdx = 668; s.pc = 105; return s.tmp_1; + case 105: + r0 = s.retval; s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 14; continue; } - r0 = (s.x___53051 - s.x0___52948); - 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___52938); - s.xLine___53057 = (r0); - r0 = (s.xLine___53057 >= 0); + if (!r0) { step = 12; continue; } + s.tmp_2 = tiles_TileMap_getObstacle__P2756_mk(s); + s.tmp_2.arg0 = s.arg2; + s.tmp_2.arg1 = s.x0___14861; + s.tmp_2.arg2 = s.y0___14892; + s.callLocIdx = 669; s.pc = 106; return s.tmp_2; + case 106: + r0 = s.retval; + s.obstacle___14908 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P14916); 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___53057; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.tmp_2 = r0; - r0 = (s.tmp_1 <= s.tmp_2); - case 11: - // jmp value (already in r0) + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___14908); + s.tmp_4 = helpers_arraySome__P107_mk(s); + s.tmp_4.arg0 = s.collidedTiles___14876; + s.tmp_4.arg1 = s.tmp_0; + s.callLocIdx = 670; s.pc = 107; return s.tmp_4; + case 107: + r0 = s.retval; s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 12; continue; } - s.tmp_4 = helpers_imageDrawLine__P38263_mk(s); - s.tmp_4.arg0 = s.arg1; - s.tmp_4.arg1 = s.xLine___53057; - s.tmp_4.arg2 = 0; - s.tmp_4.arg3 = s.xLine___53057; - r0 = pxsim_ImageMethods.height(s.arg1); - s.tmp_4.arg4 = r0; - s.tmp_4.arg5 = 1; - s.callLocIdx = 848; s.pc = 30; return s.tmp_4; - case 30: - r0 = s.retval; + 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___14876, s.obstacle___14908); + case 10: + case 11: case 12: case 13: - r0 = (s.x___53051 + 1); - s.x___53051 = (r0); + r0 = (s.tileSize___14830 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.y___14878); + s.y___14878 = (r0); { step = 9; continue; } case 14: - s.y___53084 = (s.y0___52972); - case 15: - r0 = (s.y___53084 <= s.yn___52979); + r0 = pxsim_Array__length(s.collidedTiles___14876); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 20; continue; } - r0 = (s.y___53084 - s.y0___52972); - 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___52943); - s.yLine___53090 = (r0); - r0 = (s.yLine___53090 >= 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 16; continue; } - r0 = s.tmp_0; - { step = 17; continue; } + if (!r0) { step = 41; continue; } + r0 = pxsim_numops_toBoolDecr(s.right___14857); + if (!r0) { step = 15; continue; } + r0 = 2; + { step = 16; continue; } + case 15: + r0 = 0; case 16: - s.tmp_1 = r0 = s.yLine___53090; - r0 = pxsim_ImageMethods.height(globals.screen___38324); + // jmp value (already in r0) + s.tmp_1 = r0; + s.collisionDirection___14935 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.right___14857); + if (!r0) { step = 17; continue; } + r0 = (s.x0___14861 << s.tileScale___14827); + s.tmp_1 = r0; + r0 = (s.tmp_1 * 256); s.tmp_2 = r0; - r0 = (s.tmp_1 <= s.tmp_2); + r0 = (s.tmp_2 | 0); + s.tmp_0 = r0; + r0 = s.hbox___14824.fields["width"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + { step = 18; continue; } case 17: + r0 = (s.x0___14861 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_5 << s.tileScale___14827); + 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___14799; + r0 = s.hbox___14824.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___14961 = (undefined); + s.unnamed80___U14 = (s.collidedTiles___14876); + 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___14961 = (r0); + r0 = s.s___14799.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_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 18; continue; } - s.tmp_4 = helpers_imageDrawLine__P38263_mk(s); - s.tmp_4.arg0 = s.arg1; - s.tmp_4.arg1 = 0; - s.tmp_4.arg2 = s.yLine___53090; - r0 = pxsim_ImageMethods.width(s.arg1); - s.tmp_4.arg3 = r0; - s.tmp_4.arg4 = s.yLine___53090; - s.tmp_4.arg5 = 1; - s.callLocIdx = 850; s.pc = 31; return s.tmp_4; - case 31: + 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__P2425_mk(s); + s.tmp_6.arg0 = s.s___14799; + s.tmp_6.arg1 = s.collisionDirection___14935; + s.tmp_6.arg2 = s.tile___14961; + s.tmp_6.arg3 = s.arg2; + s.callLocIdx = 676; s.pc = 108; return s.tmp_6; + case 108: r0 = s.retval; - case 18: - case 19: - r0 = (s.y___53084 + 1); - s.y___53084 = (r0); - { step = 15; continue; } case 20: case 21: + r0 = (s.unnamed81___U15 + 1); + s.unnamed81___U15 = (r0); + { step = 19; continue; } case 22: - case 23: - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -tiles_TileMap_draw__P39110.info = {"start":13998,"length":2224,"line":458,"column":8,"endLine":513,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"draw","argumentNames":["this","target","camera"]} - -function tiles_TileMap_draw__P39110_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMap_draw__P39110, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___52932: undefined, - offsetX___52938: undefined, - offsetY___52943: undefined, - x0___52948: undefined, - xn___52955: undefined, - y0___52972: undefined, - yn___52979: undefined, - x___52996: undefined, - y___53002: undefined, - index___53008: undefined, - tile___53015: undefined, - x___53051: undefined, - xLine___53057: undefined, - y___53084: undefined, - yLine___53090: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, -} } - - - - - -function tiles_TileMapData_getTileImage__P39083(s) { -let r0 = s.r0, step = 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___51155 = undefined; - s.cachedImage___51159 = undefined; - s.originalImage___51166 = 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__C39075_VT)) failedCast(r0); - r0 = s.arg0.fields["_scale"]; - s.tmp_0 = r0; - r0 = (1 << s.tmp_0); - s.size___51155 = (r0); - r0 = s.arg0.fields["cachedTileView"]; - s.tmp_0 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.arg1); - s.cachedImage___51159 = (r0); - r0 = pxsim_numops_toBoolDecr(s.cachedImage___51159); + s.unnamed80___U14 = (undefined); + r0 = s.s___14799.fields["flags"]; s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = (s.tmp_1 & 16); 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___51166 = (r0); - r0 = pxsim_numops_toBoolDecr(s.originalImage___51166); - if (!r0) { step = 5; continue; } - r0 = pxsim_ImageMethods.width(s.originalImage___51166); + if (!r0) { step = 23; continue; } + s.tmp_2 = Sprite_destroy__P2427_mk(s); + s.tmp_2.arg0 = s.s___14799; + s.tmp_2.arg1 = undefined; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 677; s.pc = 109; return s.tmp_2; + case 109: + r0 = s.retval; + { step = 40; continue; } + case 23: + r0 = s.s___14799.fields["_vx"]; s.tmp_1 = r0; - r0 = (s.tmp_1 <= s.size___51155); + r0 = s.arg1.fields["cachedVx"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 === s.tmp_2); s.tmp_0 = r0; r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 1; continue; } + if (r0) { step = 24; continue; } r0 = s.tmp_0; - { step = 2; continue; } - case 1: - r0 = pxsim_ImageMethods.height(s.originalImage___51166); - s.tmp_2 = r0; - r0 = (s.tmp_2 <= s.size___51155); - case 2: + { step = 25; continue; } + case 24: + r0 = s.s___14799.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 25: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 36; continue; } + r0 = s.s___14799.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & 32); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 34; continue; } + r0 = pxsim_numops_toBoolDecr(s.right___14857); + s.tmp_10 = r0; + r0 = pxsim_Boolean__bang(s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (r0) { step = 26; continue; } + r0 = s.tmp_9; + { step = 27; continue; } + case 26: + s.tmp_12 = Sprite_vx__P2357_mk(s); + s.tmp_12.arg0 = s.s___14799; + s.callLocIdx = 678; s.pc = 110; return s.tmp_12; + case 110: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 < 0); + case 27: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = pxsim_numops_toBool(s.tmp_13); + if (!r0) { step = 28; continue; } + r0 = s.tmp_13; + { step = 31; continue; } + case 28: + s.tmp_14 = r0 = s.right___14857; + r0 = pxsim_numops_toBool(s.tmp_14); + if (r0) { step = 29; continue; } + r0 = s.tmp_14; + { step = 30; continue; } + case 29: + s.tmp_16 = Sprite_vx__P2357_mk(s); + s.tmp_16.arg0 = s.s___14799; + s.callLocIdx = 679; s.pc = 111; return s.tmp_16; + case 111: + r0 = s.retval; + s.tmp_15 = r0; + r0 = (s.tmp_15 > 0); + case 30: + // jmp value (already in r0) + s.tmp_17 = r0; + r0 = s.tmp_17; + case 31: // jmp value (already in r0) + s.tmp_18 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_18); + if (!r0) { step = 32; continue; } + s.tmp_19 = r0 = s.s___14799; + r0 = s.s___14799.fields["_vx"]; + s.tmp_21 = r0; + r0 = (0 - s.tmp_21); + s.tmp_20 = r0; + r0 = (s.tmp_19).fields["_vx"] = (s.tmp_20); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["xStep"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["dx"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); + case 32: + case 33: + { step = 35; continue; } + case 34: + r0 = (s.arg1).fields["dx"] = (0); + r0 = (s.s___14799).fields["_vx"] = (0); + case 35: + { step = 39; continue; } + case 36: + s.tmp_2 = Math_sign__P129_mk(s); + r0 = s.s___14799.fields["_vx"]; s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 3; continue; } - s.cachedImage___51159 = (s.originalImage___51166); - { step = 4; continue; } - case 3: - r0 = pxsim.image.create(s.size___51155, s.size___51155); - s.cachedImage___51159 = (r0); - r0 = pxsim_ImageMethods.drawImage(s.cachedImage___51159, s.originalImage___51166, 0, 0); - case 4: - r0 = s.arg0.fields["cachedTileView"]; - s.tmp_0 = r0; - r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.cachedImage___51159); - case 5: - case 6: - case 7: - case 8: - r0 = s.cachedImage___51159; - return leave(s, r0) - default: oops() -} } } -tiles_TileMapData_getTileImage__P39083.info = {"start":7354,"length":717,"line":251,"column":8,"endLine":268,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} - -function tiles_TileMapData_getTileImage__P39083_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMapData_getTileImage__P39083, depth: s.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___51155: undefined, - cachedImage___51159: undefined, - originalImage___51166: undefined, - arg0: undefined, - arg1: undefined, -} } - - - - - -function tiles_TileMapData_getTile__P39080(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39075_VT)) failedCast(r0); - s.tmp_1 = tiles_TileMapData_isOutsideMap__P39086_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_1.arg1 = s.arg1; - s.tmp_1.arg2 = s.arg2; - s.callLocIdx = 809; s.pc = 4; return s.tmp_1; - case 4: + r0 = (s.tmp_3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_2.arg0 = r0; + s.callLocIdx = 684; s.pc = 112; return s.tmp_2; + case 112: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_6 = Math_sign__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 = 686; s.pc = 113; return s.tmp_6; + case 113: r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_1 === s.tmp_5); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = 0; - { step = 3; continue; } - case 1: - case 2: - r0 = s.arg0.fields["data"]; + if (!r0) { step = 37; continue; } + r0 = (s.arg1).fields["dx"] = (0); + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + case 43: + case 44: + r0 = (s.yDiff___14841 !== 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 81; continue; } + r0 = (s.yDiff___14841 > 0); + s.down___15052 = (r0); + r0 = pxsim_numops_toBoolDecr(s.down___15052); + if (!r0) { step = 45; continue; } + s.tmp_1 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_1.arg0 = s.hbox___14824; + s.callLocIdx = 687; s.pc = 114; return s.tmp_1; + case 114: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 256); + { step = 46; continue; } + case 45: + s.tmp_3 = game_Hitbox_top__P2217_mk(s); + s.tmp_3.arg0 = s.hbox___14824; + s.callLocIdx = 689; s.pc = 115; return s.tmp_3; + case 115: + r0 = s.retval; s.tmp_2 = r0; - r0 = (s.arg1 | 0); + r0 = (s.tmp_2 - 256); + case 46: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = (s.tmp_4 + 128); s.tmp_5 = r0; - r0 = (4 + s.tmp_5); + r0 = (s.tileScale___14827 + 8); + s.tmp_6 = r0; + r0 = (s.tmp_5 >> s.tmp_6); + s.y0___15056 = (r0); + r0 = pxsim_Array__mk(); + s.collidedTiles___15071 = (r0); + s.tmp_0 = game_Hitbox_left__P2216_mk(s); + s.tmp_0.arg0 = s.hbox___14824; + s.callLocIdx = 693; s.pc = 116; return s.tmp_0; + case 116: + r0 = s.retval; + s.x___15073 = (r0); + case 47: + s.tmp_1 = r0 = s.x___15073; + s.tmp_3 = r0 = s.tileSize___14830; + s.tmp_5 = game_Hitbox_right__P2218_mk(s); + s.tmp_5.arg0 = s.hbox___14824; + s.callLocIdx = 694; s.pc = 117; return s.tmp_5; + case 117: + r0 = s.retval; 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); + r0 = (s.tmp_3 << 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__P39080.info = {"start":6752,"length":200,"line":231,"column":8,"endLine":235,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} - -function tiles_TileMapData_getTile__P39080_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMapData_getTile__P39080, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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__P39086(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39075_VT)) failedCast(r0); - r0 = (s.arg1 < 0); + 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_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"]; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 52; continue; } + s.tmp_9 = Fx_min__P166_mk(s); + s.tmp_9.arg0 = s.x___15073; + s.tmp_10 = game_Hitbox_right__P2218_mk(s); + s.tmp_10.arg0 = s.hbox___14824; + s.callLocIdx = 696; s.pc = 119; return s.tmp_10; + case 119: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 697; s.pc = 118; return s.tmp_9; + case 118: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___14827 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.x0___15083 = (r0); + s.tmp_1 = tiles_TileMap_isObstacle__P2755_mk(s); + s.tmp_1.arg0 = s.arg2; + s.tmp_1.arg1 = s.x0___15083; + s.tmp_1.arg2 = s.y0___15056; + s.callLocIdx = 700; s.pc = 120; return s.tmp_1; + case 120: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 50; continue; } + s.tmp_2 = tiles_TileMap_getObstacle__P2756_mk(s); + s.tmp_2.arg0 = s.arg2; + s.tmp_2.arg1 = s.x0___15083; + s.tmp_2.arg2 = s.y0___15056; + s.callLocIdx = 701; s.pc = 121; return s.tmp_2; + case 121: + r0 = s.retval; + s.obstacle___15097 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P15105); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___15097); + s.tmp_4 = helpers_arraySome__P107_mk(s); + s.tmp_4.arg0 = s.collidedTiles___15071; + s.tmp_4.arg1 = s.tmp_0; + s.callLocIdx = 702; s.pc = 122; return s.tmp_4; + case 122: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); s.tmp_2 = r0; - r0 = (s.tmp_1 >= s.tmp_2); - case 2: + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 48; continue; } + r0 = pxsim_Array__push(s.collidedTiles___15071, s.obstacle___15097); + case 48: + case 49: + case 50: + case 51: + r0 = (s.tileSize___14830 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.x___15073); + s.x___15073 = (r0); + { step = 47; continue; } + case 52: + r0 = pxsim_Array__length(s.collidedTiles___15071); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 79; continue; } + r0 = pxsim_numops_toBoolDecr(s.down___15052); + if (!r0) { step = 53; continue; } + r0 = 3; + { step = 54; continue; } + case 53: + r0 = 1; + case 54: // jmp value (already in r0) + s.tmp_1 = r0; + s.collisionDirection___15124 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.down___15052); + if (!r0) { step = 55; continue; } + r0 = (s.y0___15056 << s.tileScale___14827); + 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___14824.fields["height"]; 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) + r0 = (s.tmp_0 - s.tmp_3); + { step = 56; continue; } + case 55: + r0 = (s.y0___15056 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_5 << s.tileScale___14827); 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"]; + r0 = (s.tmp_4 * 256); s.tmp_6 = r0; - r0 = (s.tmp_5 >= s.tmp_6); - case 6: + r0 = (s.tmp_6 | 0); + case 56: // jmp value (already in r0) s.tmp_7 = r0; - r0 = s.tmp_7; + s.tmp_8 = r0 = s.s___14799; + r0 = s.hbox___14824.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___15150 = (undefined); + s.unnamed82___U24 = (s.collidedTiles___15071); + s.unnamed83___U25 = (0); + case 57: + 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 = 60; continue; } + r0 = pxsim_Array__getAt(s.unnamed82___U24, s.unnamed83___U25); + s.tile___15150 = (r0); + r0 = s.s___14799.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 58; continue; } + s.tmp_6 = Sprite_registerObstacle__P2425_mk(s); + s.tmp_6.arg0 = s.s___14799; + s.tmp_6.arg1 = s.collisionDirection___15124; + s.tmp_6.arg2 = s.tile___15150; + s.tmp_6.arg3 = s.arg2; + s.callLocIdx = 708; s.pc = 123; return s.tmp_6; + case 123: + r0 = s.retval; + case 58: + case 59: + r0 = (s.unnamed83___U25 + 1); + s.unnamed83___U25 = (r0); + { step = 57; continue; } + case 60: + s.unnamed82___U24 = (undefined); + r0 = s.s___14799.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 16); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 61; continue; } + s.tmp_2 = Sprite_destroy__P2427_mk(s); + s.tmp_2.arg0 = s.s___14799; + s.tmp_2.arg1 = undefined; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 709; s.pc = 124; return s.tmp_2; + case 124: + r0 = s.retval; + { step = 78; continue; } + case 61: + r0 = s.s___14799.fields["_vy"]; + s.tmp_1 = r0; + r0 = s.arg1.fields["cachedVy"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 === s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 62; continue; } + r0 = s.tmp_0; + { step = 63; continue; } + case 62: + r0 = s.s___14799.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 63: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 74; continue; } + r0 = s.s___14799.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & 32); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 72; continue; } + r0 = pxsim_numops_toBoolDecr(s.down___15052); + s.tmp_10 = r0; + r0 = pxsim_Boolean__bang(s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (r0) { step = 64; continue; } + r0 = s.tmp_9; + { step = 65; continue; } + case 64: + s.tmp_12 = Sprite_vy__P2359_mk(s); + s.tmp_12.arg0 = s.s___14799; + s.callLocIdx = 710; s.pc = 125; return s.tmp_12; + case 125: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 < 0); + case 65: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = pxsim_numops_toBool(s.tmp_13); + if (!r0) { step = 66; continue; } + r0 = s.tmp_13; + { step = 69; continue; } + case 66: + s.tmp_14 = r0 = s.down___15052; + r0 = pxsim_numops_toBool(s.tmp_14); + if (r0) { step = 67; continue; } + r0 = s.tmp_14; + { step = 68; continue; } + case 67: + s.tmp_16 = Sprite_vy__P2359_mk(s); + s.tmp_16.arg0 = s.s___14799; + s.callLocIdx = 711; s.pc = 126; return s.tmp_16; + case 126: + r0 = s.retval; + s.tmp_15 = r0; + r0 = (s.tmp_15 > 0); + case 68: + // jmp value (already in r0) + s.tmp_17 = r0; + r0 = s.tmp_17; + case 69: + // jmp value (already in r0) + s.tmp_18 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_18); + if (!r0) { step = 70; continue; } + s.tmp_19 = r0 = s.s___14799; + r0 = s.s___14799.fields["_vy"]; + s.tmp_21 = r0; + r0 = (0 - s.tmp_21); + s.tmp_20 = r0; + r0 = (s.tmp_19).fields["_vy"] = (s.tmp_20); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["yStep"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["dy"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); + case 70: + case 71: + { step = 73; continue; } + case 72: + r0 = (s.arg1).fields["dy"] = (0); + r0 = (s.s___14799).fields["_vy"] = (0); + case 73: + { step = 77; continue; } + case 74: + s.tmp_2 = Math_sign__P129_mk(s); + r0 = s.s___14799.fields["_vy"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_2.arg0 = r0; + s.callLocIdx = 716; s.pc = 127; return s.tmp_2; + case 127: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_6 = Math_sign__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 = 718; s.pc = 128; return s.tmp_6; + case 128: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_1 === s.tmp_5); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 75; continue; } + r0 = (s.arg1).fields["dy"] = (0); + case 75: + case 76: + case 77: + case 78: + case 79: + case 80: + case 81: + case 82: + case 83: + case 84: + r0 = s.s___14799.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 1538); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 95; continue; } + r0 = pxsim_Array__mk(); + s.overlappedTiles___15244 = (r0); + s.tmp_0 = game_Hitbox_left__P2216_mk(s); + s.tmp_0.arg0 = s.hbox___14824; + s.callLocIdx = 719; s.pc = 129; return s.tmp_0; + case 129: + r0 = s.retval; + s.x___15246 = (r0); + case 85: + s.tmp_1 = r0 = s.x___15246; + s.tmp_3 = r0 = s.tileSize___14830; + s.tmp_5 = game_Hitbox_right__P2218_mk(s); + s.tmp_5.arg0 = s.hbox___14824; + s.callLocIdx = 720; s.pc = 130; return s.tmp_5; + case 130: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_6 = r0; + r0 = (s.tmp_6 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 92; continue; } + s.tmp_9 = Fx_min__P166_mk(s); + s.tmp_9.arg0 = s.x___15246; + s.tmp_10 = game_Hitbox_right__P2218_mk(s); + s.tmp_10.arg0 = s.hbox___14824; + s.callLocIdx = 722; s.pc = 132; return s.tmp_10; + case 132: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 723; s.pc = 131; return s.tmp_9; + case 131: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___14827 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.x0___15256 = (r0); + s.tmp_0 = game_Hitbox_top__P2217_mk(s); + s.tmp_0.arg0 = s.hbox___14824; + s.callLocIdx = 726; s.pc = 133; return s.tmp_0; + case 133: + r0 = s.retval; + s.y___15266 = (r0); + case 86: + s.tmp_1 = r0 = s.y___15266; + s.tmp_3 = r0 = s.tileSize___14830; + s.tmp_5 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_5.arg0 = s.hbox___14824; + s.callLocIdx = 727; s.pc = 134; return s.tmp_5; + case 134: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_6 = r0; + r0 = (s.tmp_6 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 91; continue; } + s.tmp_9 = Fx_min__P166_mk(s); + s.tmp_9.arg0 = s.y___15266; + s.tmp_10 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_10.arg0 = s.hbox___14824; + s.callLocIdx = 729; s.pc = 136; return s.tmp_10; + case 136: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 730; s.pc = 135; return s.tmp_9; + case 135: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___14827 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.y0___15276 = (r0); + s.tmp_3 = tiles_TileMap_isObstacle__P2755_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.x0___15256; + s.tmp_3.arg2 = s.y0___15276; + s.callLocIdx = 733; s.pc = 137; return s.tmp_3; + case 137: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 87; continue; } + r0 = s.tmp_0; + { step = 88; continue; } + case 87: + r0 = s.s___14799.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & 2048); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + s.tmp_6 = r0; + r0 = pxsim_Boolean__bang(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + case 88: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_9); + if (!r0) { step = 89; continue; } + s.tmp_10 = r0 = s.overlappedTiles___15244; + s.tmp_12 = tiles_TileMap_getTile__P2748_mk(s); + s.tmp_12.arg0 = s.arg2; + s.tmp_12.arg1 = s.x0___15256; + s.tmp_12.arg2 = s.y0___15276; + s.callLocIdx = 734; s.pc = 138; return s.tmp_12; + case 138: + r0 = s.retval; + s.tmp_11 = r0; + r0 = pxsim_Array__push(s.tmp_10, s.tmp_11); + case 89: + case 90: + r0 = (s.tileSize___14830 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.y___15266); + s.y___15266 = (r0); + { step = 86; continue; } + case 91: + r0 = (s.tileSize___14830 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.x___15246); + s.x___15246 = (r0); + { step = 85; continue; } + case 92: + r0 = pxsim_Array__length(s.overlappedTiles___15244); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 93; continue; } + s.tmp_1 = ArcadePhysicsEngine_tilemapOverlaps__P4779_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.s___14799; + s.tmp_1.arg2 = s.overlappedTiles___15244; + s.callLocIdx = 737; s.pc = 139; return s.tmp_1; + case 139: + r0 = s.retval; + case 93: + case 94: + case 95: + case 96: + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMapData_isOutsideMap__P39086.info = {"start":8335,"length":132,"line":278,"column":8,"endLine":280,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOutsideMap","argumentNames":["this","col","row"]} +ArcadePhysicsEngine_tilemapCollisions__P4778.info = {"start":12929,"length":9654,"line":379,"column":4,"endLine":618,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapCollisions","argumentNames":["this","movingSprite","tm"]} -function tiles_TileMapData_isOutsideMap__P39086_mk(s) { +function ArcadePhysicsEngine_tilemapCollisions__P4778_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMapData_isOutsideMap__P39086, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P4778, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -29936,6 +29890,51 @@ function tiles_TileMapData_isOutsideMap__P39086_mk(s) { tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + tmp_18: undefined, + tmp_19: undefined, + tmp_20: undefined, + tmp_21: undefined, + s___14799: undefined, + hbox___14824: undefined, + tileScale___14827: undefined, + tileSize___14830: undefined, + xDiff___14834: undefined, + yDiff___14841: undefined, + right___14857: undefined, + x0___14861: undefined, + collidedTiles___14876: undefined, + y___14878: undefined, + y0___14892: undefined, + obstacle___14908: undefined, + collisionDirection___14935: undefined, + tile___14961: undefined, + unnamed80___U14: undefined, + unnamed81___U15: undefined, + down___15052: undefined, + y0___15056: undefined, + collidedTiles___15071: undefined, + x___15073: undefined, + x0___15083: undefined, + obstacle___15097: undefined, + collisionDirection___15124: undefined, + tile___15150: undefined, + unnamed82___U24: undefined, + unnamed83___U25: undefined, + overlappedTiles___15244: undefined, + x___15246: undefined, + x0___15256: undefined, + y___15266: undefined, + y0___15276: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -29945,7 +29944,7 @@ function tiles_TileMapData_isOutsideMap__P39086_mk(s) { -function tiles_TileMap_scale__P39092(s) { +function ArcadePhysicsEngine_tilemapCollisions_inline__P14916(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -29957,47 +29956,33 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - r0 = (s.arg0).fields["_scale"] = (s.arg1); - r0 = s.arg0.fields["_map"]; + r0 = s.arg0.fields["tileIndex"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - s.tmp_1 = tiles_TileMapData_scale__P39079_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.arg1; - s.callLocIdx = 817; s.pc = 3; return s.tmp_1; - case 3: - r0 = s.retval; - case 1: - case 2: - r0 = undefined; + r0 = s.caps[0].fields["tileIndex"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 === s.tmp_1); return leave(s, r0) default: oops() } } } -tiles_TileMap_scale__P39092.info = {"start":9270,"length":144,"line":314,"column":8,"endLine":319,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this","s"]} +ArcadePhysicsEngine_tilemapCollisions_inline__P14916.info = {"start":15147,"length":39,"line":441,"column":48,"endLine":441,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} -function tiles_TileMap_scale__P39092_mk(s) { +function ArcadePhysicsEngine_tilemapCollisions_inline__P14916_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_scale__P39092, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P14916, 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__P39093(s) { +function ArcadePhysicsEngine_tilemapCollisions_inline__P15105(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30011,20 +29996,23 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - r0 = s.arg0.fields["_map"]; - return leaveAccessor(s, r0) + 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() } } } -tiles_TileMap_data__P39093.info = {"start":9424,"length":65,"line":321,"column":8,"endLine":323,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"data","argumentNames":["this"]} -tiles_TileMap_data__P39093.isGetter = true; +ArcadePhysicsEngine_tilemapCollisions_inline__P15105.info = {"start":18668,"length":39,"line":522,"column":48,"endLine":522,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} -function tiles_TileMap_data__P39093_mk(s) { +function ArcadePhysicsEngine_tilemapCollisions_inline__P15105_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_data__P39093, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P15105, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, arg0: undefined, } } @@ -30032,7 +30020,7 @@ function tiles_TileMap_data__P39093_mk(s) { -function Sprite_toString__P38735(s) { +function ArcadePhysicsEngine_tilemapOverlaps__P4779(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30042,146 +30030,115 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.alreadyHandled___15323 = undefined; + s.tile___15326 = undefined; + s.unnamed84___U2 = undefined; + s.unnamed85___U3 = undefined; + s.tileOverlapHandlers___15347 = 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__C38662_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) + ""; } + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.alreadyHandled___15323 = (r0); + s.tile___15326 = (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___15326 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapOverlaps_inline__P15330); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.tile___15326); + s.tmp_4 = helpers_arraySome__P107_mk(s); + s.tmp_4.arg0 = s.alreadyHandled___15323; + s.tmp_4.arg1 = s.tmp_2; + s.callLocIdx = 742; s.pc = 8; return s.tmp_4; + case 8: 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__P38664_mk(s); - s.tmp_14.arg0 = s.arg0; - s.callLocIdx = 443; s.pc = 2; return s.tmp_14; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + { step = 6; continue; } 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 = pxsim_Array__push(s.alreadyHandled___15323, s.tile___15326); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 743; s.pc = 9; return s.tmp_0; + case 9: 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__P38666_mk(s); - s.tmp_17.arg0 = s.arg0; - s.callLocIdx = 444; s.pc = 4; return s.tmp_17; - case 4: + r0 = r0.fields["tileOverlapHandlers"]; + s.tileOverlapHandlers___15347 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tileOverlapHandlers___15347); + if (!r0) { step = 4; continue; } + r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P15355); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tile___15326); + r0 = pxsim_pxtcore_mkAction(2, ArcadePhysicsEngine_tilemapOverlaps_inline__P15371); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_1, 1, s.tile___15326); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + s.tmp_3 = helpers_arrayFilter__P110_mk(s); + s.tmp_3.arg0 = s.tileOverlapHandlers___15347; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 746; s.pc = 11; return s.tmp_3; + case 11: 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: + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 748; s.pc = 10; return s.tmp_2; + case 10: r0 = s.retval; - 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__P38668_mk(s); - s.tmp_20.arg0 = s.arg0; - s.callLocIdx = 445; s.pc = 6; return s.tmp_20; + case 4: + case 5: 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) + ""; } + r0 = (s.unnamed85___U3 + 1); + s.unnamed85___U3 = (r0); + { step = 1; continue; } 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__P38670_mk(s); - s.tmp_23.arg0 = s.arg0; - s.callLocIdx = 446; s.pc = 8; return s.tmp_23; - case 8: - r0 = s.retval; - s.tmp_22 = r0; - if ((s.tmp_22) && (s.tmp_22).vtable) { - setupResume(s, 9); - pxsim_String__stringConv(s.tmp_22); - checkResumeConsumed(); - return; - } else { s.retval = (s.tmp_22) + ""; } - case 9: - r0 = s.retval; - s.tmp_21 = r0; - r0 = pxsim_String__concat(s.tmp_1, s.tmp_21); - s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, ")"); + s.unnamed84___U2 = (undefined); + r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_toString__P38735.info = {"start":33951,"length":93,"line":1064,"column":4,"endLine":1066,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"toString","argumentNames":["this"]} +ArcadePhysicsEngine_tilemapOverlaps__P4779.info = {"start":22860,"length":707,"line":626,"column":4,"endLine":642,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapOverlaps","argumentNames":["this","sprite","overlappedTiles"]} -function Sprite_toString__P38735_mk(s) { +function ArcadePhysicsEngine_tilemapOverlaps__P4779_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_toString__P38735, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps__P4779, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, + alreadyHandled___15323: undefined, + tile___15326: undefined, + unnamed84___U2: undefined, + unnamed85___U3: undefined, + tileOverlapHandlers___15347: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function Sprite___update__P38717(s) { +function ArcadePhysicsEngine_tilemapOverlaps_inline__P15330(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30193,98 +30150,37 @@ switch (step) { 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__C38662_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__P38730_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 381; s.pc = 11; return s.tmp_0; - case 11: - r0 = s.retval; - case 1: - case 2: - case 3: - case 4: - r0 = s.arg0.fields["flags"]; + r0 = s.arg0.fields["_col"]; s.tmp_1 = r0; - r0 = (s.tmp_1 & 4); + 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 = 5; continue; } + if (r0) { step = 1; continue; } r0 = s.tmp_0; - { step = 6; continue; } - case 5: - s.tmp_2 = Sprite_isOutOfScreen__P38715_mk(s); - s.tmp_2.arg0 = s.arg0; - s.tmp_2.arg1 = s.arg1; - s.callLocIdx = 382; s.pc = 12; return s.tmp_2; - case 12: - r0 = s.retval; - case 6: - // jmp value (already in r0) + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_row"]; s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 7; continue; } - s.tmp_4 = Sprite_destroy__P38729_mk(s); - s.tmp_4.arg0 = s.arg0; - s.tmp_4.arg1 = undefined; - s.tmp_4.arg2 = undefined; - s.callLocIdx = 383; s.pc = 13; return s.tmp_4; - case 13: - r0 = s.retval; - case 7: - case 8: - r0 = s.arg0.fields["sayRenderer"]; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 9; continue; } - s.tmp_1 = sprites_BaseSpriteSayRenderer__C38637_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__C38637_VT)) failedCast(s.tmp_1.arg0); - s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.update; - s.pc = 14; return s.tmp_1; - case 14: - r0 = s.retval; - case 9: - case 10: - r0 = undefined; + 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() } } } -Sprite___update__P38717.info = {"start":18662,"length":483,"line":628,"column":4,"endLine":642,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]} +ArcadePhysicsEngine_tilemapOverlaps_inline__P15330.info = {"start":23075,"length":51,"line":630,"column":36,"endLine":630,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["l"]} -function Sprite___update__P38717_mk(s) { +function ArcadePhysicsEngine_tilemapOverlaps_inline__P15330_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite___update__P38717, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P15330, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -30293,15 +30189,13 @@ function Sprite___update__P38717_mk(s) { tmp_4: undefined, tmp_5: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function Sprite_isOutOfScreen__P38715(s) { +function forEach_inline__P15355(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30311,118 +30205,43 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ox___53204 = undefined; - s.oy___53212 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_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___53204 = (s.tmp_2); - r0 = s.arg0.fields["flags"]; + r0 = s.arg0.fields["spriteKind"]; 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___53212 = (s.tmp_2); - s.tmp_3 = Sprite_right__P38702_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 372; s.pc = 11; return s.tmp_3; - case 11: - r0 = s.retval; + r0 = s.caps[0].fields["_kind"]; s.tmp_2 = r0; - r0 = (s.tmp_2 - s.ox___53204); - s.tmp_1 = r0; - r0 = (s.tmp_1 < 0); + r0 = (s.tmp_1 == s.tmp_2); s.tmp_0 = r0; r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 5; continue; } + if (r0) { step = 1; continue; } r0 = s.tmp_0; - { step = 6; continue; } - case 5: - s.tmp_6 = Sprite_bottom__P38706_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 373; s.pc = 12; return s.tmp_6; - case 12: + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["tileKind"]; + s.tmp_3 = r0; + s.tmp_5 = tiles_getTileImage__P2767_mk(s); + s.tmp_5.arg0 = s.caps[1]; + s.callLocIdx = 745; s.pc = 3; return s.tmp_5; + case 3: r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_5 - s.oy___53212); 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__P38700_mk(s); - s.tmp_10.arg0 = s.arg0; - s.callLocIdx = 374; s.pc = 13; return s.tmp_10; - case 13: - r0 = s.retval; - s.tmp_9 = r0; - r0 = (s.tmp_9 - s.ox___53204); - s.tmp_8 = r0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - 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__P38704_mk(s); - s.tmp_15.arg0 = s.arg0; - s.callLocIdx = 375; s.pc = 14; return s.tmp_15; - case 14: - r0 = s.retval; - s.tmp_14 = r0; - r0 = (s.tmp_14 - s.oy___53212); - s.tmp_13 = r0; - r0 = pxsim_ImageMethods.height(globals.screen___38324); - s.tmp_16 = r0; - r0 = (s.tmp_13 > s.tmp_16); - case 10: + r0 = pxsim_ImageMethods.equals(s.tmp_3, s.tmp_4); + case 2: // jmp value (already in r0) - s.tmp_17 = r0; - r0 = s.tmp_17; + s.tmp_6 = r0; + r0 = s.tmp_6; return leave(s, r0) default: oops() } } } -Sprite_isOutOfScreen__P38715.info = {"start":17830,"length":358,"line":607,"column":4,"endLine":611,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isOutOfScreen","argumentNames":["this","camera"]} +forEach_inline__P15355.info = {"start":23395,"length":81,"line":638,"column":28,"endLine":638,"endColumn":109,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} -function Sprite_isOutOfScreen__P38715_mk(s) { +function forEach_inline__P15355_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_isOutOfScreen__P38715, depth: s.depth + 1, + parent: s, fn: forEach_inline__P15355, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -30431,28 +30250,14 @@ function Sprite_isOutOfScreen__P38715_mk(s) { 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___53204: undefined, - oy___53212: undefined, arg0: undefined, - arg1: undefined, } } -function Sprite_bottom__P38706(s) { +function ArcadePhysicsEngine_tilemapOverlaps_inline__P15371(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30466,36 +30271,33 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_1 = Sprite_top__P38704_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 363; s.pc = 1; return s.tmp_1; + s.tmp_0 = if_handler_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + s.tmp_0.arg2 = s.caps[1]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); + s.callLocIdx = 747; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 747; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 747; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 747; s.pc = 1; return s.tmp_0; } + } case 1: r0 = s.retval; - s.tmp_0 = r0; - s.tmp_3 = Sprite_height__P38699_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 364; s.pc = 2; return s.tmp_3; - case 2: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_0 + s.tmp_2); - return leaveAccessor(s, r0) + r0 = undefined; + return leave(s, r0) default: oops() } } } -Sprite_bottom__P38706.info = {"start":12052,"length":59,"line":435,"column":4,"endLine":437,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this"]} -Sprite_bottom__P38706.isGetter = true; +ArcadePhysicsEngine_tilemapOverlaps_inline__P15371.info = {"start":23507,"length":28,"line":639,"column":29,"endLine":639,"endColumn":57,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} -function Sprite_bottom__P38706_mk(s) { +function ArcadePhysicsEngine_tilemapOverlaps_inline__P15371_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_bottom__P38706, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P15371, depth: s.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, } } @@ -30503,7 +30305,7 @@ function Sprite_bottom__P38706_mk(s) { -function Sprite_right__P38702(s) { +function tiles_getTileImage__P2767(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30513,48 +30315,79 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.scene___15379 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_1 = Sprite_left__P38700_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 355; s.pc = 1; return s.tmp_1; - case 1: + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 876; s.pc = 6; return s.tmp_0; + case 6: r0 = s.retval; + s.scene___15379 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; - s.tmp_3 = Sprite_width__P38698_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 356; s.pc = 2; return s.tmp_3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.scene___15379.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(_hex15389); + { step = 5; continue; } + case 3: + case 4: + s.tmp_5 = tiles_TileMap_getTileImage__P2758_mk(s); + r0 = s.scene___15379.fields["tileMap"]; + s.tmp_5.arg0 = r0; + s.tmp_6 = tiles_Location_tileSet__P2703_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 877; s.pc = 8; return s.tmp_6; + case 8: r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_0 + s.tmp_2); - return leaveAccessor(s, r0) + s.tmp_5.arg1 = r0; + s.callLocIdx = 878; s.pc = 7; return s.tmp_5; + case 7: + r0 = s.retval; + case 5: + return leave(s, r0) default: oops() } } } -Sprite_right__P38702.info = {"start":11218,"length":57,"line":405,"column":4,"endLine":407,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this"]} -Sprite_right__P38702.isGetter = true; +tiles_getTileImage__P2767.info = {"start":21871,"length":207,"line":673,"column":4,"endLine":677,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["loc"]} -function Sprite_right__P38702_mk(s) { +function tiles_getTileImage__P2767_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_right__P38702, depth: s.depth + 1, + parent: s, fn: tiles_getTileImage__P2767, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___15379: undefined, arg0: undefined, } } +const _hex15389 = pxsim.BufferMethods.createBufferFromHex("8704000000000000") -function sprites_BaseSpriteSayRenderer_update__P38639(s) { +function tiles_TileMap_getTileImage__P2758(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30567,34 +30400,37 @@ switch (step) { 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__C38637_VT)) failedCast(r0); - r0 = undefined; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMapData_getTileImage__P2725_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 875; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; return leave(s, r0) default: oops() } } } -sprites_BaseSpriteSayRenderer_update__P38639.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"]} +tiles_TileMap_getTileImage__P2758.info = {"start":17510,"length":96,"line":553,"column":8,"endLine":555,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} -function sprites_BaseSpriteSayRenderer_update__P38639_mk(s) { +function tiles_TileMap_getTileImage__P2758_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSpriteSayRenderer_update__P38639, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_getTileImage__P2758, 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 Sprite_data__P38687(s) { +function tiles_TileMapData_getTileImage__P2725(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30604,88 +30440,94 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.size___15444 = undefined; + s.cachedImage___15448 = undefined; + s.originalImage___15455 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = (s.arg0).fields["_data"] = (s.arg1); - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -Sprite_data__P38687.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__P38687_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: Sprite_data__P38687, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - arg0: undefined, - arg1: undefined, -} } - - - - - -function Sprite_data__P38686(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_data"]; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!checkSubtype(r0, tiles_TileMapData__C2716_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + s.tmp_0 = r0; + r0 = (1 << s.tmp_0); + s.size___15444 = (r0); + r0 = s.arg0.fields["cachedTileView"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.arg1); + s.cachedImage___15448 = (r0); + r0 = pxsim_numops_toBoolDecr(s.cachedImage___15448); 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); + 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___15455 = (r0); + r0 = pxsim_numops_toBoolDecr(s.originalImage___15455); + if (!r0) { step = 5; continue; } + r0 = pxsim_ImageMethods.width(s.originalImage___15455); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.size___15444); + 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___15455); + s.tmp_2 = r0; + r0 = (s.tmp_2 <= s.size___15444); case 2: - r0 = s.arg0.fields["_data"]; - return leaveAccessor(s, r0) + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + s.cachedImage___15448 = (s.originalImage___15455); + { step = 4; continue; } + case 3: + r0 = pxsim.image.create(s.size___15444, s.size___15444); + s.cachedImage___15448 = (r0); + r0 = pxsim_ImageMethods.drawImage(s.cachedImage___15448, s.originalImage___15455, 0, 0); + case 4: + r0 = s.arg0.fields["cachedTileView"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.cachedImage___15448); + case 5: + case 6: + case 7: + case 8: + r0 = s.cachedImage___15448; + return leave(s, r0) default: oops() } } } -Sprite_data__P38686.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__P38686.isGetter = true; +tiles_TileMapData_getTileImage__P2725.info = {"start":7354,"length":717,"line":251,"column":8,"endLine":268,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} -function Sprite_data__P38686_mk(s) { +function tiles_TileMapData_getTileImage__P2725_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_data__P38686, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_getTileImage__P2725, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, - tmp_4: undefined, + size___15444: undefined, + cachedImage___15448: undefined, + originalImage___15455: undefined, arg0: undefined, + arg1: undefined, } } -function sprites_BaseSprite___update__P38397(s) { +function tiles_TileMapData_scale__P2720(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30697,33 +30539,30 @@ switch (step) { 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__C38391_VT)) failedCast(r0); - r0 = undefined; - return leave(s, r0) + if (!checkSubtype(r0, tiles_TileMapData__C2716_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + return leaveAccessor(s, r0) default: oops() } } } -sprites_BaseSprite___update__P38397.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"]} +tiles_TileMapData_scale__P2720.info = {"start":6564,"length":66,"line":222,"column":8,"endLine":224,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} +tiles_TileMapData_scale__P2720.isGetter = true; -function sprites_BaseSprite___update__P38397_mk(s) { +function tiles_TileMapData_scale__P2720_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite___update__P38397, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_scale__P2720, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function sprites_BaseSprite___draw__P38395(s) { +function tiles_Location_tileSet__P2703(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30735,54 +30574,45 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_BaseSprite__C38391_VT)) failedCast(r0); - s.tmp_1 = sprites_BaseSprite__C38391_v0_1_mk(s); + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMap_getTileIndex__P2749_mk(s); + s.tmp_1 = tiles_Location_tileMap__P2694_mk(s); s.tmp_1.arg0 = s.arg0; - if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C38391_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__C38391_v2_2_mk(s); - s.tmp_2.arg0 = s.arg0; - s.tmp_2.arg1 = s.arg1; - if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C38391_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: + s.callLocIdx = 806; s.pc = 2; return s.tmp_1; + case 2: r0 = s.retval; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["_col"]; + s.tmp_0.arg1 = r0; + r0 = s.arg0.fields["_row"]; + s.tmp_0.arg2 = r0; + s.callLocIdx = 807; s.pc = 1; return s.tmp_0; case 1: - case 2: - r0 = undefined; - return leave(s, r0) + r0 = s.retval; + return leaveAccessor(s, r0) default: oops() } } } -sprites_BaseSprite___draw__P38395.info = {"start":840,"length":131,"line":37,"column":8,"endLine":41,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__draw","argumentNames":["this","camera"]} +tiles_Location_tileSet__P2703.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__P2703.isGetter = true; -function sprites_BaseSprite___draw__P38395_mk(s) { +function tiles_Location_tileSet__P2703_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite___draw__P38395, depth: s.depth + 1, + parent: s, fn: tiles_Location_tileSet__P2703, 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__P38396(s) { +function tiles_TileMap_getTileIndex__P2749(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30795,30 +30625,40 @@ switch (step) { 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__C38391_VT)) failedCast(r0); - r0 = undefined; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMapData_getTile__P2722_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 830; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; return leave(s, r0) default: oops() } } } -sprites_BaseSprite___drawCore__P38396.info = {"start":981,"length":36,"line":43,"column":8,"endLine":43,"endColumn":44,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]} +tiles_TileMap_getTileIndex__P2749.info = {"start":11191,"length":105,"line":384,"column":8,"endLine":386,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileIndex","argumentNames":["this","col","row"]} -function sprites_BaseSprite___drawCore__P38396_mk(s) { +function tiles_TileMap_getTileIndex__P2749_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite___drawCore__P38396, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_getTileIndex__P2749, 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_BaseSprite___visible__P38392(s) { +function tiles_TileMapData_getTile__P2722(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30830,29 +30670,71 @@ switch (step) { 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__C38391_VT)) failedCast(r0); - r0 = true; + if (!checkSubtype(r0, tiles_TileMapData__C2716_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P2728_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.callLocIdx = 809; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 3; continue; } + case 1: + case 2: + r0 = s.arg0.fields["data"]; + s.tmp_2 = r0; + r0 = (s.arg1 | 0); + s.tmp_5 = r0; + r0 = (4 + s.tmp_5); + s.tmp_4 = r0; + r0 = (s.arg2 | 0); + s.tmp_7 = r0; + r0 = s.arg0.fields["_width"]; + s.tmp_8 = r0; + r0 = (s.tmp_7 * s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_4 + s.tmp_6); + s.tmp_3 = r0; + r0 = pxsim.BufferMethods.getUint8(s.tmp_2, s.tmp_3); + case 3: return leave(s, r0) default: oops() } } } -sprites_BaseSprite___visible__P38392.info = {"start":524,"length":57,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__visible","argumentNames":["this"]} +tiles_TileMapData_getTile__P2722.info = {"start":6752,"length":200,"line":231,"column":8,"endLine":235,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} -function sprites_BaseSprite___visible__P38392_mk(s) { +function tiles_TileMapData_getTile__P2722_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSprite___visible__P38392, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_getTile__P2722, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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 sprites_SpriteMap_toString__P38761(s) { +function tiles_TileMapData_isOutsideMap__P2728(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30864,60 +30746,57 @@ switch (step) { 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__C38751_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) + ""; } + if (!checkSubtype(r0, tiles_TileMapData__C2716_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.retval; - s.tmp_4 = r0; - r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); + s.tmp_1 = r0 = s.arg1; + r0 = s.arg0.fields["_width"]; s.tmp_2 = r0; - r0 = pxsim_String__concat(s.tmp_2, " buckets, "); - s.tmp_1 = r0; - s.tmp_10 = helpers_arrayFilter__P37575_mk(s); - r0 = s.arg0.fields["buckets"]; - s.tmp_10.arg0 = r0; - s.tmp_10.arg1 = length_inline__P50117; - s.callLocIdx = 514; s.pc = 2; return s.tmp_10; + r0 = (s.tmp_1 >= s.tmp_2); 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) + ""; } + // 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.retval; + 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 = pxsim_String__concat(s.tmp_1, s.tmp_7); - s.tmp_0 = r0; - r0 = pxsim_String__concat(s.tmp_0, " filled"); + r0 = s.tmp_7; return leave(s, r0) default: oops() } } } -sprites_SpriteMap_toString__P38761.info = {"start":4109,"length":123,"line":112,"column":8,"endLine":114,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"toString","argumentNames":["this"]} +tiles_TileMapData_isOutsideMap__P2728.info = {"start":8335,"length":132,"line":278,"column":8,"endLine":280,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOutsideMap","argumentNames":["this","col","row"]} -function sprites_SpriteMap_toString__P38761_mk(s) { +function tiles_TileMapData_isOutsideMap__P2728_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_toString__P38761, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_isOutsideMap__P2728, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -30927,17 +30806,16 @@ function sprites_SpriteMap_toString__P38761_mk(s) { tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, - tmp_10: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function length_inline__P50117(s) { +function tiles_Location_tileMap__P2694(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30951,26 +30829,25 @@ switch (step) { 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) + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 797; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + return leaveAccessor(s, r0) default: oops() } } } -length_inline__P50117.info = {"start":4196,"length":8,"line":113,"column":74,"endLine":113,"endColumn":82,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["b"]} +tiles_Location_tileMap__P2694.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__P2694.isGetter = true; -function length_inline__P50117_mk(s) { +function tiles_Location_tileMap__P2694_mk(s) { checkStack(s.depth); return { - parent: s, fn: length_inline__P50117, depth: s.depth + 1, + parent: s, fn: tiles_Location_tileMap__P2694, 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, } } @@ -30978,7 +30855,7 @@ function length_inline__P50117_mk(s) { -function scene_Camera_y__P39143(s) { +function tiles_Location_row__P2696(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -30993,28 +30870,19 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_VT)) failedCast(r0); - r0 = s.arg0.fields["_offsetY"]; - s.tmp_0 = r0; - r0 = pxsim_ImageMethods.height(globals.screen___38324); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + r0 = s.arg0.fields["_row"]; return leaveAccessor(s, r0) default: oops() } } } -scene_Camera_y__P39143.info = {"start":1536,"length":75,"line":51,"column":8,"endLine":53,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"y","argumentNames":["this"]} -scene_Camera_y__P39143.isGetter = true; +tiles_Location_row__P2696.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__P2696.isGetter = true; -function scene_Camera_y__P39143_mk(s) { +function tiles_Location_row__P2696_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_y__P39143, depth: s.depth + 1, + parent: s, fn: tiles_Location_row__P2696, 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, } } @@ -31022,7 +30890,7 @@ function scene_Camera_y__P39143_mk(s) { -function scene_Camera_x__P39142(s) { +function tiles_Location_column__P2695(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -31037,28 +30905,19 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_VT)) failedCast(r0); - r0 = s.arg0.fields["_offsetX"]; - s.tmp_0 = r0; - r0 = pxsim_ImageMethods.width(globals.screen___38324); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + r0 = s.arg0.fields["_col"]; return leaveAccessor(s, r0) default: oops() } } } -scene_Camera_x__P39142.info = {"start":1453,"length":74,"line":48,"column":8,"endLine":50,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"x","argumentNames":["this"]} -scene_Camera_x__P39142.isGetter = true; +tiles_Location_column__P2695.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__P2695.isGetter = true; -function scene_Camera_x__P39142_mk(s) { +function tiles_Location_column__P2695_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_x__P39142, depth: s.depth + 1, + parent: s, fn: tiles_Location_column__P2695, 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, } } @@ -31066,7 +30925,7 @@ function scene_Camera_x__P39142_mk(s) { -function ArcadePhysicsEngine_moveSprite__P38874(s) { +function tiles_TileMap_getObstacle__P2756(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -31076,414 +30935,81 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tm___50149 = undefined; - s.maxDist___50157 = undefined; - s.ms___50177 = undefined; + s.index___15618 = undefined; + s.tile___15630 = 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__C38855_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"]; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P2728_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.callLocIdx = 854; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; s.tmp_0 = r0; - r0 = (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__P38454_mk(s); - s.callLocIdx = 751; s.pc = 13; return s.tmp_0; - case 13: - r0 = s.retval; - r0 = r0.fields["tileMap"]; - s.tm___50149 = (r0); - s.tmp_0 = r0 = s.tm___50149; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 1; continue; } - r0 = s.tmp_0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; { step = 2; continue; } case 1: - r0 = s.tm___50149.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___50157 = (r0); - s.tmp_2 = Math_abs__P37594_mk(s); - r0 = (s.arg2 + 128); - s.tmp_3 = r0; - r0 = (s.tmp_3 >> 8); + s.tmp_2 = tiles_TileMapData_getTile__P2722_mk(s); + r0 = s.arg0.fields["_map"]; s.tmp_2.arg0 = r0; - s.callLocIdx = 755; s.pc = 14; return s.tmp_2; - case 14: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_1 <= s.maxDist___50157); - 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__P37594_mk(s); - r0 = (s.arg3 + 128); - s.tmp_6 = r0; - r0 = (s.tmp_6 >> 8); - s.tmp_5.arg0 = r0; - s.callLocIdx = 757; s.pc = 15; return s.tmp_5; - case 15: - r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_4 <= s.maxDist___50157); + s.tmp_2.arg1 = s.arg1; + s.tmp_2.arg2 = s.arg2; + s.callLocIdx = 855; s.pc = 4; return s.tmp_2; 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__C38853_VT); - s.tmp_8 = r0; - s.tmp_9 = MovingSprite_constructor__P38854_mk(s); - s.tmp_9.arg0 = s.tmp_8; - s.tmp_9.arg1 = s.arg1; - r0 = s.arg1.fields["_vx"]; - s.tmp_9.arg2 = r0; - r0 = s.arg1.fields["_vy"]; - s.tmp_9.arg3 = r0; - s.tmp_9.arg4 = s.arg2; - s.tmp_9.arg5 = s.arg3; - s.tmp_9.arg6 = s.arg2; - s.tmp_9.arg7 = s.arg3; - s.callLocIdx = 758; s.pc = 16; return s.tmp_9; - case 16: - r0 = s.retval; - s.ms___50177 = (s.tmp_8); - s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P38871_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.ms___50177; - s.tmp_0.arg2 = s.tm___50149; - s.callLocIdx = 759; s.pc = 17; return s.tmp_0; - case 17: - r0 = s.retval; - { step = 10; continue; } - case 5: - s.tmp_1 = tiles_TileMap_isOnWall__P39113_mk(s); - s.tmp_1.arg0 = s.tm___50149; - s.tmp_1.arg1 = s.arg1; - s.callLocIdx = 760; s.pc = 18; return s.tmp_1; - case 18: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 6; continue; } - r0 = s.tmp_0; - { step = 7; continue; } - case 6: - s.tmp_4 = ArcadePhysicsEngine_canResolveClipping__P38875_mk(s); - s.tmp_4.arg0 = s.arg0; - s.tmp_4.arg1 = s.arg1; - s.tmp_4.arg2 = s.tm___50149; - s.callLocIdx = 761; s.pc = 19; return s.tmp_4; - case 19: r0 = s.retval; - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); - case 7: + case 2: // 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__P38874.info = {"start":23898,"length":1208,"line":654,"column":4,"endLine":685,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]} - -function ArcadePhysicsEngine_moveSprite__P38874_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: ArcadePhysicsEngine_moveSprite__P38874, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___50149: undefined, - maxDist___50157: undefined, - ms___50177: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, -} } - - - - - -function tiles_TileMap_isOnWall__P39113(s) { -let r0 = s.r0, step = 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___50406 = undefined; - s.left___50409 = undefined; - s.right___50415 = undefined; - s.top___50421 = undefined; - s.bottom___50427 = undefined; - s.col___50433 = undefined; - s.row___50439 = 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__C39090_VT)) failedCast(r0); - r0 = s.arg1.fields["_hitbox"]; - s.hbox___50406 = (r0); - s.tmp_1 = game_Hitbox_left__P38597_mk(s); - s.tmp_1.arg0 = s.hbox___50406; - s.callLocIdx = 861; s.pc = 8; return s.tmp_1; - case 8: - r0 = s.retval; - s.tmp_0 = r0; - r0 = s.arg0.fields["_scale"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + 8); - s.tmp_3 = r0; - r0 = (s.tmp_0 >> s.tmp_3); - s.left___50409 = (r0); - s.tmp_1 = game_Hitbox_right__P38599_mk(s); - s.tmp_1.arg0 = s.hbox___50406; - s.callLocIdx = 864; s.pc = 9; return s.tmp_1; - case 9: - r0 = s.retval; - s.tmp_0 = r0; - r0 = s.arg0.fields["_scale"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + 8); s.tmp_3 = r0; - r0 = (s.tmp_0 >> s.tmp_3); - s.right___50415 = (r0); - s.tmp_1 = game_Hitbox_top__P38598_mk(s); - s.tmp_1.arg0 = s.hbox___50406; - s.callLocIdx = 867; s.pc = 10; return s.tmp_1; - case 10: + s.index___15618 = (s.tmp_3); + s.tmp_0 = tiles_TileMapData_getTileImage__P2725_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___15618; + s.callLocIdx = 856; s.pc = 5; return s.tmp_0; + case 5: r0 = s.retval; + s.tile___15630 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C2497_VT); s.tmp_0 = r0; + s.tmp_1 = sprites_StaticObstacle_constructor__P2503_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.tile___15630; + s.tmp_2 = r0 = s.arg2; 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___50421 = (r0); - s.tmp_1 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_1.arg0 = s.hbox___50406; - s.callLocIdx = 870; s.pc = 11; return s.tmp_1; - case 11: - r0 = s.retval; - s.tmp_0 = 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_2 = r0; - r0 = (s.tmp_2 + 8); - s.tmp_3 = r0; - r0 = (s.tmp_0 >> s.tmp_3); - s.bottom___50427 = (r0); - s.col___50433 = (s.left___50409); - case 1: - r0 = (s.col___50433 <= s.right___50415); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 6; continue; } - s.row___50439 = (s.top___50421); - case 2: - r0 = (s.row___50439 <= s.bottom___50427); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - s.tmp_2 = tiles_TileMap_isObstacle__P39111_mk(s); - s.tmp_2.arg0 = s.arg0; - s.tmp_2.arg1 = s.col___50433; - s.tmp_2.arg2 = s.row___50439; - s.callLocIdx = 873; s.pc = 12; return s.tmp_2; - case 12: - r0 = s.retval; - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 3; continue; } - r0 = true; - { step = 7; continue; } - case 3: - case 4: - r0 = (s.row___50439 + 1); - s.row___50439 = (r0); - { step = 2; continue; } - case 5: - r0 = (s.col___50433 + 1); - s.col___50433 = (r0); - { step = 1; continue; } - case 6: - r0 = false; - case 7: - return leave(s, r0) - default: oops() -} } } -tiles_TileMap_isOnWall__P39113.info = {"start":16873,"length":627,"line":534,"column":8,"endLine":551,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOnWall","argumentNames":["this","s"]} - -function tiles_TileMap_isOnWall__P39113_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMap_isOnWall__P39113, depth: s.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___50406: undefined, - left___50409: undefined, - right___50415: undefined, - top___50421: undefined, - bottom___50427: undefined, - col___50433: undefined, - row___50439: undefined, - arg0: undefined, - arg1: undefined, -} } - - - - - -function tiles_TileMap_isObstacle__P39111(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39090_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__P39086_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_8.arg0 = r0; - s.tmp_8.arg1 = s.arg1; - s.tmp_8.arg2 = s.arg2; - s.callLocIdx = 852; s.pc = 6; return s.tmp_8; + 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___15618; + s.callLocIdx = 860; s.pc = 6; return s.tmp_1; 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: + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -tiles_TileMap_isObstacle__P39111.info = {"start":16232,"length":211,"line":515,"column":8,"endLine":520,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isObstacle","argumentNames":["this","col","row"]} +tiles_TileMap_getObstacle__P2756.info = {"start":16453,"length":410,"line":522,"column":8,"endLine":532,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getObstacle","argumentNames":["this","col","row"]} -function tiles_TileMap_isObstacle__P39111_mk(s) { +function tiles_TileMap_getObstacle__P2756_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_isObstacle__P39111, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_getObstacle__P2756, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -31491,12 +31017,8 @@ function tiles_TileMap_isObstacle__P39111_mk(s) { 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, + index___15618: undefined, + tile___15630: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -31506,191 +31028,7 @@ function tiles_TileMap_isObstacle__P39111_mk(s) { -function tiles_TileMapData_isWall__P39085(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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__C39075_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__P39085.info = {"start":8218,"length":107,"line":274,"column":8,"endLine":276,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isWall","argumentNames":["this","col","row"]} - -function tiles_TileMapData_isWall__P39085_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: tiles_TileMapData_isWall__P39085, 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 game_Hitbox_bottom__P38600(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C38596_VT)) failedCast(r0); - r0 = s.arg0.fields["height"]; - s.tmp_1 = r0; - s.tmp_3 = game_Hitbox_top__P38598_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 226; 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__P38600.info = {"start":786,"length":139,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"bottom","argumentNames":["this"]} -game_Hitbox_bottom__P38600.isGetter = true; - -function game_Hitbox_bottom__P38600_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: game_Hitbox_bottom__P38600, depth: s.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__P38599(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C38596_VT)) failedCast(r0); - r0 = s.arg0.fields["width"]; - s.tmp_1 = r0; - s.tmp_3 = game_Hitbox_left__P38597_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 223; 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__P38599.info = {"start":638,"length":138,"line":26,"column":8,"endLine":31,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"right","argumentNames":["this"]} -game_Hitbox_right__P38599.isGetter = true; - -function game_Hitbox_right__P38599_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: game_Hitbox_right__P38599, depth: s.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__P38598(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C38596_VT)) failedCast(r0); - r0 = s.arg0.fields["oy"]; - s.tmp_0 = r0; - r0 = s.arg0.fields["parent"]; - r0 = r0.fields["_y"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); - return leaveAccessor(s, r0) - default: oops() -} } } -game_Hitbox_top__P38598.info = {"start":555,"length":73,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"top","argumentNames":["this"]} -game_Hitbox_top__P38598.isGetter = true; - -function game_Hitbox_top__P38598_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: game_Hitbox_top__P38598, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - arg0: undefined, -} } - - - - - -function game_Hitbox_left__P38597(s) { +function tiles_TileMap_layer__P2744(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -31705,1399 +31043,145 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, game_Hitbox__C38596_VT)) failedCast(r0); - r0 = s.arg0.fields["ox"]; - s.tmp_0 = r0; - r0 = s.arg0.fields["parent"]; - r0 = r0.fields["_x"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = s.arg0.fields["_layer"]; return leaveAccessor(s, r0) default: oops() } } } -game_Hitbox_left__P38597.info = {"start":471,"length":74,"line":18,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"left","argumentNames":["this"]} -game_Hitbox_left__P38597.isGetter = true; +tiles_TileMap_layer__P2744.info = {"start":9967,"length":63,"line":341,"column":8,"endLine":343,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"layer","argumentNames":["this"]} +tiles_TileMap_layer__P2744.isGetter = true; -function game_Hitbox_left__P38597_mk(s) { +function tiles_TileMap_layer__P2744_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_Hitbox_left__P38597, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_layer__P2744, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, arg0: undefined, } } - - -function ArcadePhysicsEngine_canResolveClipping__P38875(s) { -let r0 = s.r0, step = 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___50222 = undefined; - s.sz___50225 = undefined; - s.maxMove___50230 = undefined; - s.origY___50232 = undefined; - s.origX___50235 = undefined; - s.l___50238 = undefined; - s.r___50243 = undefined; - s.t___50248 = undefined; - s.b___50253 = undefined; - s.offset___50258 = undefined; - s.offset___50283 = undefined; - s.offset___50314 = undefined; - s.offset___50339 = 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__C38855_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__C38662_v4_1_mk(s); - s.tmp_4.arg0 = s.arg1; - if (!checkSubtype(s.tmp_4.arg0, Sprite__C38662_VT)) failedCast(s.tmp_4.arg0); - s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; - s.pc = 20; return s.tmp_4; - case 20: - r0 = s.retval; - case 1: - case 2: - r0 = s.arg1.fields["_hitbox"]; - s.hbox___50222 = (r0); - r0 = s.arg2.fields["_scale"]; - s.tmp_0 = r0; - r0 = (1 << s.tmp_0); - s.sz___50225 = (r0); - s.tmp_0 = ArcadePhysicsEngine_maxStep__P38861_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 764; s.pc = 21; return s.tmp_0; - case 21: - r0 = s.retval; - s.maxMove___50230 = (r0); - r0 = s.arg1.fields["_y"]; - s.origY___50232 = (r0); - r0 = s.arg1.fields["_x"]; - s.origX___50235 = (r0); - s.tmp_1 = game_Hitbox_left__P38597_mk(s); - s.tmp_1.arg0 = s.hbox___50222; - s.callLocIdx = 765; s.pc = 22; return s.tmp_1; - case 22: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 128); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 8); - s.l___50238 = (r0); - s.tmp_1 = game_Hitbox_right__P38599_mk(s); - s.tmp_1.arg0 = s.hbox___50222; - s.callLocIdx = 767; s.pc = 23; return s.tmp_1; - case 23: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 128); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 8); - s.r___50243 = (r0); - s.tmp_1 = game_Hitbox_top__P38598_mk(s); - s.tmp_1.arg0 = s.hbox___50222; - s.callLocIdx = 769; s.pc = 24; return s.tmp_1; - case 24: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 128); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 8); - s.t___50248 = (r0); - s.tmp_1 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_1.arg0 = s.hbox___50222; - s.callLocIdx = 771; s.pc = 25; return s.tmp_1; - case 25: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 128); - s.tmp_2 = r0; - r0 = (s.tmp_2 >> 8); - s.b___50253 = (r0); - r0 = (s.b___50253 + 1); - s.tmp_0 = r0; - r0 = (s.tmp_0 % s.sz___50225); - s.offset___50258 = (r0); - r0 = (s.offset___50258 <= s.maxMove___50230); - 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___50258 * 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__P39113_mk(s); - s.tmp_3.arg0 = s.arg2; - s.tmp_3.arg1 = s.arg1; - s.callLocIdx = 775; s.pc = 26; return s.tmp_3; - case 26: - r0 = s.retval; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 3; continue; } - r0 = true; - { step = 19; continue; } - { step = 4; continue; } - case 3: - r0 = (s.arg1).fields["_y"] = (s.origY___50232); - case 4: - case 5: - case 6: - r0 = (s.t___50248 / s.sz___50225); - 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___50225); - s.tmp_0 = r0; - r0 = (s.tmp_0 - s.t___50248); - s.offset___50283 = (r0); - r0 = (s.offset___50283 <= s.maxMove___50230); - 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___50283 * 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__P39113_mk(s); - s.tmp_3.arg0 = s.arg2; - s.tmp_3.arg1 = s.arg1; - s.callLocIdx = 778; s.pc = 27; return s.tmp_3; - case 27: - r0 = s.retval; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - r0 = true; - { step = 19; continue; } - { step = 8; continue; } - case 7: - r0 = (s.arg1).fields["_y"] = (s.origY___50232); - case 8: - case 9: - case 10: - r0 = (s.r___50243 + 1); - s.tmp_0 = r0; - r0 = (s.tmp_0 % s.sz___50225); - s.offset___50314 = (r0); - r0 = (s.offset___50314 <= s.maxMove___50230); - 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___50314 * 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__P39113_mk(s); - s.tmp_3.arg0 = s.arg2; - s.tmp_3.arg1 = s.arg1; - s.callLocIdx = 781; s.pc = 28; return s.tmp_3; - case 28: - r0 = s.retval; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 11; continue; } - r0 = true; - { step = 19; continue; } - { step = 12; continue; } - case 11: - r0 = (s.arg1).fields["_x"] = (s.origX___50235); - case 12: - case 13: - case 14: - r0 = (s.l___50238 / s.sz___50225); - 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___50225); - s.tmp_0 = r0; - r0 = (s.tmp_0 - s.l___50238); - s.offset___50339 = (r0); - r0 = (s.offset___50339 <= s.maxMove___50230); - 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___50339 * 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__P39113_mk(s); - s.tmp_3.arg0 = s.arg2; - s.tmp_3.arg1 = s.arg1; - s.callLocIdx = 784; s.pc = 29; return s.tmp_3; - case 29: - r0 = s.retval; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 15; continue; } - r0 = true; - { step = 19; continue; } - { step = 16; continue; } - case 15: - r0 = (s.arg1).fields["_x"] = (s.origX___50235); - case 16: - case 17: - case 18: - r0 = false; - case 19: - return leave(s, r0) - default: oops() -} } } -ArcadePhysicsEngine_canResolveClipping__P38875.info = {"start":25202,"length":2135,"line":688,"column":4,"endLine":759,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"canResolveClipping","argumentNames":["this","s","tm"]} - -function ArcadePhysicsEngine_canResolveClipping__P38875_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: ArcadePhysicsEngine_canResolveClipping__P38875, depth: s.depth + 1, - pc: 0, retval: undefined, 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___50222: undefined, - sz___50225: undefined, - maxMove___50230: undefined, - origY___50232: undefined, - origX___50235: undefined, - l___50238: undefined, - r___50243: undefined, - t___50248: undefined, - b___50253: undefined, - offset___50258: undefined, - offset___50283: undefined, - offset___50314: undefined, - offset___50339: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, -} } - - - - - -function Sprite_isStatic__P38694(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C38662_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__P38694.info = {"start":9841,"length":57,"line":355,"column":4,"endLine":357,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isStatic","argumentNames":["this"]} - -function Sprite_isStatic__P38694_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: Sprite_isStatic__P38694, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - arg0: undefined, -} } - - - - - -function ArcadePhysicsEngine_tilemapCollisions__P38871(s) { -let r0 = s.r0, step = 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___50500 = undefined; - s.hbox___50525 = undefined; - s.tileScale___50528 = undefined; - s.tileSize___50531 = undefined; - s.xDiff___50535 = undefined; - s.yDiff___50542 = undefined; - s.right___50558 = undefined; - s.x0___50562 = undefined; - s.collidedTiles___50577 = undefined; - s.y___50579 = undefined; - s.y0___50593 = undefined; - s.obstacle___50609 = undefined; - s.collisionDirection___50638 = undefined; - s.tile___50666 = undefined; - s.unnamed264___U14 = undefined; - s.unnamed265___U15 = undefined; - s.down___50759 = undefined; - s.y0___50763 = undefined; - s.collidedTiles___50778 = undefined; - s.x___50780 = undefined; - s.x0___50790 = undefined; - s.obstacle___50804 = undefined; - s.collisionDirection___50831 = undefined; - s.tile___50859 = undefined; - s.unnamed266___U24 = undefined; - s.unnamed267___U25 = undefined; - s.overlappedTiles___50953 = undefined; - s.x___50955 = undefined; - s.x0___50965 = undefined; - s.y___50975 = undefined; - s.y0___50985 = 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__C38855_VT)) failedCast(r0); - r0 = s.arg1.fields["sprite"]; - s.s___50500 = (r0); - r0 = s.s___50500.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__P39113_mk(s); - s.tmp_5.arg0 = s.arg2; - s.tmp_5.arg1 = s.s___50500; - s.callLocIdx = 647; s.pc = 97; return s.tmp_5; - case 97: - r0 = s.retval; - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - if (!r0) { step = 1; continue; } - s.tmp_6 = r0 = s.s___50500; - 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___50500.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__C38662_v4_1_mk(s); - s.tmp_4.arg0 = s.s___50500; - if (!checkSubtype(s.tmp_4.arg0, Sprite__C38662_VT)) failedCast(s.tmp_4.arg0); - s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; - s.pc = 98; return s.tmp_4; - case 98: - r0 = s.retval; - case 5: - case 6: - r0 = s.s___50500.fields["_hitbox"]; - s.hbox___50525 = (r0); - r0 = s.arg2.fields["_scale"]; - s.tileScale___50528 = (r0); - r0 = (1 << s.tileScale___50528); - s.tileSize___50531 = (r0); - r0 = s.s___50500.fields["_x"]; - s.tmp_0 = r0; - r0 = s.s___50500.fields["_lastX"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 - s.tmp_1); - s.xDiff___50535 = (r0); - r0 = s.s___50500.fields["_y"]; - s.tmp_0 = r0; - r0 = s.s___50500.fields["_lastY"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 - s.tmp_1); - s.yDiff___50542 = (r0); - r0 = s.s___50500.fields["flags"]; - s.tmp_3 = r0; - r0 = (s.tmp_3 & 2818); - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 83; continue; } - r0 = (s.xDiff___50535 !== 0); - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - if (!r0) { step = 43; continue; } - r0 = (s.xDiff___50535 > 0); - s.right___50558 = (r0); - r0 = pxsim_numops_toBoolDecr(s.right___50558); - if (!r0) { step = 7; continue; } - s.tmp_1 = game_Hitbox_right__P38599_mk(s); - s.tmp_1.arg0 = s.hbox___50525; - s.callLocIdx = 652; s.pc = 99; return s.tmp_1; - case 99: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 256); - { step = 8; continue; } - case 7: - s.tmp_3 = game_Hitbox_left__P38597_mk(s); - s.tmp_3.arg0 = s.hbox___50525; - s.callLocIdx = 654; s.pc = 100; return s.tmp_3; - case 100: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_2 - 256); - case 8: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = (s.tmp_4 + 128); - s.tmp_5 = r0; - r0 = (s.tileScale___50528 + 8); - s.tmp_6 = r0; - r0 = (s.tmp_5 >> s.tmp_6); - s.x0___50562 = (r0); - r0 = pxsim_Array__mk(); - s.collidedTiles___50577 = (r0); - s.tmp_1 = game_Hitbox_top__P38598_mk(s); - s.tmp_1.arg0 = s.hbox___50525; - s.callLocIdx = 658; s.pc = 101; return s.tmp_1; - case 101: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 - s.yDiff___50542); - s.y___50579 = (r0); - case 9: - s.tmp_1 = r0 = s.y___50579; - s.tmp_3 = r0 = s.tileSize___50531; - s.tmp_6 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_6.arg0 = s.hbox___50525; - s.callLocIdx = 660; s.pc = 102; return s.tmp_6; - case 102: - r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_5 - s.yDiff___50542); - 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__P37641_mk(s); - s.tmp_10.arg0 = s.y___50579; - s.tmp_12 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_12.arg0 = s.hbox___50525; - s.callLocIdx = 663; s.pc = 104; return s.tmp_12; - case 104: - r0 = s.retval; - s.tmp_11 = r0; - r0 = (s.tmp_11 - s.yDiff___50542); - s.tmp_10.arg1 = r0; - s.callLocIdx = 665; s.pc = 103; return s.tmp_10; - case 103: - r0 = s.retval; - s.tmp_9 = r0; - r0 = (s.tmp_9 + 128); - s.tmp_8 = r0; - r0 = (s.tileScale___50528 + 8); - s.tmp_13 = r0; - r0 = (s.tmp_8 >> s.tmp_13); - s.y0___50593 = (r0); - s.tmp_1 = tiles_TileMap_isObstacle__P39111_mk(s); - s.tmp_1.arg0 = s.arg2; - s.tmp_1.arg1 = s.x0___50562; - s.tmp_1.arg2 = s.y0___50593; - s.callLocIdx = 668; s.pc = 105; return s.tmp_1; - case 105: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 12; continue; } - s.tmp_2 = tiles_TileMap_getObstacle__P39112_mk(s); - s.tmp_2.arg0 = s.arg2; - s.tmp_2.arg1 = s.x0___50562; - s.tmp_2.arg2 = s.y0___50593; - s.callLocIdx = 669; s.pc = 106; return s.tmp_2; - case 106: - r0 = s.retval; - s.obstacle___50609 = (r0); - r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P50617); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___50609); - s.tmp_4 = helpers_arraySome__P37572_mk(s); - s.tmp_4.arg0 = s.collidedTiles___50577; - s.tmp_4.arg1 = s.tmp_0; - s.callLocIdx = 670; s.pc = 107; return s.tmp_4; - case 107: - r0 = s.retval; - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 10; continue; } - r0 = pxsim_Array__push(s.collidedTiles___50577, s.obstacle___50609); - case 10: - case 11: - case 12: - case 13: - r0 = (s.tileSize___50531 << 8); - s.tmp_0 = r0; - r0 = (s.tmp_0 + s.y___50579); - s.y___50579 = (r0); - { step = 9; continue; } - case 14: - r0 = pxsim_Array__length(s.collidedTiles___50577); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 41; continue; } - r0 = pxsim_numops_toBoolDecr(s.right___50558); - 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___50638 = (s.tmp_1); - r0 = pxsim_numops_toBoolDecr(s.right___50558); - if (!r0) { step = 17; continue; } - r0 = (s.x0___50562 << s.tileScale___50528); - 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___50525.fields["width"]; - s.tmp_3 = r0; - r0 = (s.tmp_0 - s.tmp_3); - { step = 18; continue; } - case 17: - r0 = (s.x0___50562 + 1); - s.tmp_5 = r0; - r0 = (s.tmp_5 << s.tileScale___50528); - 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___50500; - r0 = s.hbox___50525.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___50666 = (undefined); - s.unnamed264___U14 = (s.collidedTiles___50577); - s.unnamed265___U15 = (0); - case 19: - s.tmp_0 = r0 = s.unnamed265___U15; - r0 = pxsim_Array__length(s.unnamed264___U14); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 22; continue; } - r0 = pxsim_Array__getAt(s.unnamed264___U14, s.unnamed265___U15); - s.tile___50666 = (r0); - r0 = s.s___50500.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__P38727_mk(s); - s.tmp_6.arg0 = s.s___50500; - s.tmp_6.arg1 = s.collisionDirection___50638; - s.tmp_6.arg2 = s.tile___50666; - s.tmp_6.arg3 = s.arg2; - s.callLocIdx = 676; s.pc = 108; return s.tmp_6; - case 108: - r0 = s.retval; - case 20: - case 21: - r0 = (s.unnamed265___U15 + 1); - s.unnamed265___U15 = (r0); - { step = 19; continue; } - case 22: - s.unnamed264___U14 = (undefined); - r0 = s.s___50500.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__P38729_mk(s); - s.tmp_2.arg0 = s.s___50500; - s.tmp_2.arg1 = undefined; - s.tmp_2.arg2 = undefined; - s.callLocIdx = 677; s.pc = 109; return s.tmp_2; - case 109: - r0 = s.retval; - { step = 40; continue; } - case 23: - r0 = s.s___50500.fields["_vx"]; - s.tmp_1 = r0; - r0 = s.arg1.fields["cachedVx"]; - s.tmp_2 = r0; - r0 = (s.tmp_1 === s.tmp_2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 24; continue; } - r0 = s.tmp_0; - { step = 25; continue; } - case 24: - r0 = s.s___50500.fields["flags"]; - s.tmp_5 = r0; - r0 = (s.tmp_5 & 2818); - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - case 25: - // jmp value (already in r0) - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 36; continue; } - r0 = s.s___50500.fields["flags"]; - s.tmp_8 = r0; - r0 = (s.tmp_8 & 32); - s.tmp_7 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_7); - if (!r0) { step = 34; continue; } - r0 = pxsim_numops_toBoolDecr(s.right___50558); - s.tmp_10 = r0; - r0 = pxsim_Boolean__bang(s.tmp_10); - s.tmp_9 = r0; - r0 = pxsim_numops_toBool(s.tmp_9); - if (r0) { step = 26; continue; } - r0 = s.tmp_9; - { step = 27; continue; } - case 26: - s.tmp_12 = Sprite_vx__P38668_mk(s); - s.tmp_12.arg0 = s.s___50500; - s.callLocIdx = 678; s.pc = 110; return s.tmp_12; - case 110: - r0 = s.retval; - s.tmp_11 = r0; - r0 = (s.tmp_11 < 0); - case 27: - // jmp value (already in r0) - s.tmp_13 = r0; - r0 = pxsim_numops_toBool(s.tmp_13); - if (!r0) { step = 28; continue; } - r0 = s.tmp_13; - { step = 31; continue; } - case 28: - s.tmp_14 = r0 = s.right___50558; - r0 = pxsim_numops_toBool(s.tmp_14); - if (r0) { step = 29; continue; } - r0 = s.tmp_14; - { step = 30; continue; } - case 29: - s.tmp_16 = Sprite_vx__P38668_mk(s); - s.tmp_16.arg0 = s.s___50500; - s.callLocIdx = 679; s.pc = 111; return s.tmp_16; - case 111: - r0 = s.retval; - s.tmp_15 = r0; - r0 = (s.tmp_15 > 0); - case 30: - // jmp value (already in r0) - s.tmp_17 = r0; - r0 = s.tmp_17; - case 31: - // jmp value (already in r0) - s.tmp_18 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_18); - if (!r0) { step = 32; continue; } - s.tmp_19 = r0 = s.s___50500; - r0 = s.s___50500.fields["_vx"]; - s.tmp_21 = r0; - r0 = (0 - s.tmp_21); - s.tmp_20 = r0; - r0 = (s.tmp_19).fields["_vx"] = (s.tmp_20); - s.tmp_0 = r0 = s.arg1; - r0 = s.arg1.fields["xStep"]; - s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg1; - r0 = s.arg1.fields["dx"]; - s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); - case 32: - case 33: - { step = 35; continue; } - case 34: - r0 = (s.arg1).fields["dx"] = (0); - r0 = (s.s___50500).fields["_vx"] = (0); - case 35: - { step = 39; continue; } - case 36: - s.tmp_2 = Math_sign__P37595_mk(s); - r0 = s.s___50500.fields["_vx"]; - s.tmp_3 = r0; - r0 = (s.tmp_3 + 128); - s.tmp_4 = r0; - r0 = (s.tmp_4 >> 8); - s.tmp_2.arg0 = r0; - s.callLocIdx = 684; s.pc = 112; return s.tmp_2; - case 112: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_6 = Math_sign__P37595_mk(s); - r0 = s.arg1.fields["cachedVx"]; - s.tmp_7 = r0; - r0 = (s.tmp_7 + 128); - s.tmp_8 = r0; - r0 = (s.tmp_8 >> 8); - s.tmp_6.arg0 = r0; - s.callLocIdx = 686; s.pc = 113; return s.tmp_6; - case 113: - r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_1 === s.tmp_5); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 37; continue; } - r0 = (s.arg1).fields["dx"] = (0); - case 37: - case 38: - case 39: - case 40: - case 41: - case 42: - case 43: - case 44: - r0 = (s.yDiff___50542 !== 0); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 81; continue; } - r0 = (s.yDiff___50542 > 0); - s.down___50759 = (r0); - r0 = pxsim_numops_toBoolDecr(s.down___50759); - if (!r0) { step = 45; continue; } - s.tmp_1 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_1.arg0 = s.hbox___50525; - s.callLocIdx = 687; s.pc = 114; return s.tmp_1; - case 114: - r0 = s.retval; - s.tmp_0 = r0; - r0 = (s.tmp_0 + 256); - { step = 46; continue; } - case 45: - s.tmp_3 = game_Hitbox_top__P38598_mk(s); - s.tmp_3.arg0 = s.hbox___50525; - s.callLocIdx = 689; s.pc = 115; return s.tmp_3; - case 115: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_2 - 256); - case 46: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = (s.tmp_4 + 128); - s.tmp_5 = r0; - r0 = (s.tileScale___50528 + 8); - s.tmp_6 = r0; - r0 = (s.tmp_5 >> s.tmp_6); - s.y0___50763 = (r0); - r0 = pxsim_Array__mk(); - s.collidedTiles___50778 = (r0); - s.tmp_0 = game_Hitbox_left__P38597_mk(s); - s.tmp_0.arg0 = s.hbox___50525; - s.callLocIdx = 693; s.pc = 116; return s.tmp_0; - case 116: - r0 = s.retval; - s.x___50780 = (r0); - case 47: - s.tmp_1 = r0 = s.x___50780; - s.tmp_3 = r0 = s.tileSize___50531; - s.tmp_5 = game_Hitbox_right__P38599_mk(s); - s.tmp_5.arg0 = s.hbox___50525; - s.callLocIdx = 694; s.pc = 117; return s.tmp_5; - case 117: - r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_3 << 8); - s.tmp_6 = r0; - r0 = (s.tmp_6 + s.tmp_4); - s.tmp_2 = r0; - r0 = (s.tmp_1 < s.tmp_2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 52; continue; } - s.tmp_9 = Fx_min__P37641_mk(s); - s.tmp_9.arg0 = s.x___50780; - s.tmp_10 = game_Hitbox_right__P38599_mk(s); - s.tmp_10.arg0 = s.hbox___50525; - s.callLocIdx = 696; s.pc = 119; return s.tmp_10; - case 119: - r0 = s.retval; - s.tmp_9.arg1 = r0; - s.callLocIdx = 697; s.pc = 118; return s.tmp_9; - case 118: - r0 = s.retval; - s.tmp_8 = r0; - r0 = (s.tmp_8 + 128); - s.tmp_7 = r0; - r0 = (s.tileScale___50528 + 8); - s.tmp_11 = r0; - r0 = (s.tmp_7 >> s.tmp_11); - s.x0___50790 = (r0); - s.tmp_1 = tiles_TileMap_isObstacle__P39111_mk(s); - s.tmp_1.arg0 = s.arg2; - s.tmp_1.arg1 = s.x0___50790; - s.tmp_1.arg2 = s.y0___50763; - s.callLocIdx = 700; s.pc = 120; return s.tmp_1; - case 120: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 50; continue; } - s.tmp_2 = tiles_TileMap_getObstacle__P39112_mk(s); - s.tmp_2.arg0 = s.arg2; - s.tmp_2.arg1 = s.x0___50790; - s.tmp_2.arg2 = s.y0___50763; - s.callLocIdx = 701; s.pc = 121; return s.tmp_2; - case 121: - r0 = s.retval; - s.obstacle___50804 = (r0); - r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P50812); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___50804); - s.tmp_4 = helpers_arraySome__P37572_mk(s); - s.tmp_4.arg0 = s.collidedTiles___50778; - s.tmp_4.arg1 = s.tmp_0; - s.callLocIdx = 702; s.pc = 122; return s.tmp_4; - case 122: - r0 = s.retval; - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 48; continue; } - r0 = pxsim_Array__push(s.collidedTiles___50778, s.obstacle___50804); - case 48: - case 49: - case 50: - case 51: - r0 = (s.tileSize___50531 << 8); - s.tmp_0 = r0; - r0 = (s.tmp_0 + s.x___50780); - s.x___50780 = (r0); - { step = 47; continue; } - case 52: - r0 = pxsim_Array__length(s.collidedTiles___50778); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 79; continue; } - r0 = pxsim_numops_toBoolDecr(s.down___50759); - if (!r0) { step = 53; continue; } - r0 = 3; - { step = 54; continue; } - case 53: - r0 = 1; - case 54: - // jmp value (already in r0) - s.tmp_1 = r0; - s.collisionDirection___50831 = (s.tmp_1); - r0 = pxsim_numops_toBoolDecr(s.down___50759); - if (!r0) { step = 55; continue; } - r0 = (s.y0___50763 << s.tileScale___50528); - 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___50525.fields["height"]; - s.tmp_3 = r0; - r0 = (s.tmp_0 - s.tmp_3); - { step = 56; continue; } - case 55: - r0 = (s.y0___50763 + 1); - s.tmp_5 = r0; - r0 = (s.tmp_5 << s.tileScale___50528); - s.tmp_4 = r0; - r0 = (s.tmp_4 * 256); - s.tmp_6 = r0; - r0 = (s.tmp_6 | 0); - case 56: - // jmp value (already in r0) - s.tmp_7 = r0; - s.tmp_8 = r0 = s.s___50500; - r0 = s.hbox___50525.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___50859 = (undefined); - s.unnamed266___U24 = (s.collidedTiles___50778); - s.unnamed267___U25 = (0); - case 57: - s.tmp_0 = r0 = s.unnamed267___U25; - r0 = pxsim_Array__length(s.unnamed266___U24); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 60; continue; } - r0 = pxsim_Array__getAt(s.unnamed266___U24, s.unnamed267___U25); - s.tile___50859 = (r0); - r0 = s.s___50500.fields["flags"]; - s.tmp_5 = r0; - r0 = (s.tmp_5 & 2818); - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - if (!r0) { step = 58; continue; } - s.tmp_6 = Sprite_registerObstacle__P38727_mk(s); - s.tmp_6.arg0 = s.s___50500; - s.tmp_6.arg1 = s.collisionDirection___50831; - s.tmp_6.arg2 = s.tile___50859; - s.tmp_6.arg3 = s.arg2; - s.callLocIdx = 708; s.pc = 123; return s.tmp_6; - case 123: - r0 = s.retval; - case 58: - case 59: - r0 = (s.unnamed267___U25 + 1); - s.unnamed267___U25 = (r0); - { step = 57; continue; } - case 60: - s.unnamed266___U24 = (undefined); - r0 = s.s___50500.fields["flags"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 & 16); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 61; continue; } - s.tmp_2 = Sprite_destroy__P38729_mk(s); - s.tmp_2.arg0 = s.s___50500; - s.tmp_2.arg1 = undefined; - s.tmp_2.arg2 = undefined; - s.callLocIdx = 709; s.pc = 124; return s.tmp_2; - case 124: - r0 = s.retval; - { step = 78; continue; } - case 61: - r0 = s.s___50500.fields["_vy"]; - s.tmp_1 = r0; - r0 = s.arg1.fields["cachedVy"]; - s.tmp_2 = r0; - r0 = (s.tmp_1 === s.tmp_2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 62; continue; } - r0 = s.tmp_0; - { step = 63; continue; } - case 62: - r0 = s.s___50500.fields["flags"]; - s.tmp_5 = r0; - r0 = (s.tmp_5 & 2818); - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - case 63: - // jmp value (already in r0) - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 74; continue; } - r0 = s.s___50500.fields["flags"]; - s.tmp_8 = r0; - r0 = (s.tmp_8 & 32); - s.tmp_7 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_7); - if (!r0) { step = 72; continue; } - r0 = pxsim_numops_toBoolDecr(s.down___50759); - s.tmp_10 = r0; - r0 = pxsim_Boolean__bang(s.tmp_10); - s.tmp_9 = r0; - r0 = pxsim_numops_toBool(s.tmp_9); - if (r0) { step = 64; continue; } - r0 = s.tmp_9; - { step = 65; continue; } - case 64: - s.tmp_12 = Sprite_vy__P38670_mk(s); - s.tmp_12.arg0 = s.s___50500; - s.callLocIdx = 710; s.pc = 125; return s.tmp_12; - case 125: - r0 = s.retval; - s.tmp_11 = r0; - r0 = (s.tmp_11 < 0); - case 65: - // jmp value (already in r0) - s.tmp_13 = r0; - r0 = pxsim_numops_toBool(s.tmp_13); - if (!r0) { step = 66; continue; } - r0 = s.tmp_13; - { step = 69; continue; } - case 66: - s.tmp_14 = r0 = s.down___50759; - r0 = pxsim_numops_toBool(s.tmp_14); - if (r0) { step = 67; continue; } - r0 = s.tmp_14; - { step = 68; continue; } - case 67: - s.tmp_16 = Sprite_vy__P38670_mk(s); - s.tmp_16.arg0 = s.s___50500; - s.callLocIdx = 711; s.pc = 126; return s.tmp_16; - case 126: - r0 = s.retval; - s.tmp_15 = r0; - r0 = (s.tmp_15 > 0); - case 68: - // jmp value (already in r0) - s.tmp_17 = r0; - r0 = s.tmp_17; - case 69: - // jmp value (already in r0) - s.tmp_18 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_18); - if (!r0) { step = 70; continue; } - s.tmp_19 = r0 = s.s___50500; - r0 = s.s___50500.fields["_vy"]; - s.tmp_21 = r0; - r0 = (0 - s.tmp_21); - s.tmp_20 = r0; - r0 = (s.tmp_19).fields["_vy"] = (s.tmp_20); - s.tmp_0 = r0 = s.arg1; - r0 = s.arg1.fields["yStep"]; - s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg1; - r0 = s.arg1.fields["dy"]; - s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); - case 70: - case 71: - { step = 73; continue; } - case 72: - r0 = (s.arg1).fields["dy"] = (0); - r0 = (s.s___50500).fields["_vy"] = (0); - case 73: - { step = 77; continue; } - case 74: - s.tmp_2 = Math_sign__P37595_mk(s); - r0 = s.s___50500.fields["_vy"]; - s.tmp_3 = r0; - r0 = (s.tmp_3 + 128); - s.tmp_4 = r0; - r0 = (s.tmp_4 >> 8); - s.tmp_2.arg0 = r0; - s.callLocIdx = 716; s.pc = 127; return s.tmp_2; - case 127: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_6 = Math_sign__P37595_mk(s); - r0 = s.arg1.fields["cachedVy"]; - s.tmp_7 = r0; - r0 = (s.tmp_7 + 128); - s.tmp_8 = r0; - r0 = (s.tmp_8 >> 8); - s.tmp_6.arg0 = r0; - s.callLocIdx = 718; s.pc = 128; return s.tmp_6; - case 128: - r0 = s.retval; + + +function sprites_StaticObstacle_constructor__P2503(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__C2497_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__P2503.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__P2503_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_constructor__P2503, 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__P2755(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__C2734_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); s.tmp_5 = r0; - r0 = (s.tmp_1 === s.tmp_5); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 75; continue; } - r0 = (s.arg1).fields["dy"] = (0); - case 75: - case 76: - case 77: - case 78: - case 79: - case 80: - case 81: - case 82: - case 83: - case 84: - r0 = s.s___50500.fields["flags"]; + r0 = pxsim_Boolean__bang(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); s.tmp_3 = r0; - r0 = (s.tmp_3 & 1538); + 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 = 95; continue; } - r0 = pxsim_Array__mk(); - s.overlappedTiles___50953 = (r0); - s.tmp_0 = game_Hitbox_left__P38597_mk(s); - s.tmp_0.arg0 = s.hbox___50525; - s.callLocIdx = 719; s.pc = 129; return s.tmp_0; - case 129: - r0 = s.retval; - s.x___50955 = (r0); - case 85: - s.tmp_1 = r0 = s.x___50955; - s.tmp_3 = r0 = s.tileSize___50531; - s.tmp_5 = game_Hitbox_right__P38599_mk(s); - s.tmp_5.arg0 = s.hbox___50525; - s.callLocIdx = 720; s.pc = 130; return s.tmp_5; - case 130: - r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_3 << 8); - s.tmp_6 = r0; - r0 = (s.tmp_6 + s.tmp_4); - s.tmp_2 = r0; - r0 = (s.tmp_1 < s.tmp_2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 92; continue; } - s.tmp_9 = Fx_min__P37641_mk(s); - s.tmp_9.arg0 = s.x___50955; - s.tmp_10 = game_Hitbox_right__P38599_mk(s); - s.tmp_10.arg0 = s.hbox___50525; - s.callLocIdx = 722; s.pc = 132; return s.tmp_10; - case 132: - r0 = s.retval; - s.tmp_9.arg1 = r0; - s.callLocIdx = 723; s.pc = 131; return s.tmp_9; - case 131: - r0 = s.retval; - s.tmp_8 = r0; - r0 = (s.tmp_8 + 128); - s.tmp_7 = r0; - r0 = (s.tileScale___50528 + 8); - s.tmp_11 = r0; - r0 = (s.tmp_7 >> s.tmp_11); - s.x0___50965 = (r0); - s.tmp_0 = game_Hitbox_top__P38598_mk(s); - s.tmp_0.arg0 = s.hbox___50525; - s.callLocIdx = 726; s.pc = 133; return s.tmp_0; - case 133: - r0 = s.retval; - s.y___50975 = (r0); - case 86: - s.tmp_1 = r0 = s.y___50975; - s.tmp_3 = r0 = s.tileSize___50531; - s.tmp_5 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_5.arg0 = s.hbox___50525; - s.callLocIdx = 727; s.pc = 134; return s.tmp_5; - case 134: - r0 = s.retval; - s.tmp_4 = r0; - r0 = (s.tmp_3 << 8); - s.tmp_6 = r0; - r0 = (s.tmp_6 + s.tmp_4); - s.tmp_2 = r0; - r0 = (s.tmp_1 < s.tmp_2); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 91; continue; } - s.tmp_9 = Fx_min__P37641_mk(s); - s.tmp_9.arg0 = s.y___50975; - s.tmp_10 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_10.arg0 = s.hbox___50525; - s.callLocIdx = 729; s.pc = 136; return s.tmp_10; - case 136: - r0 = s.retval; - s.tmp_9.arg1 = r0; - s.callLocIdx = 730; s.pc = 135; return s.tmp_9; - case 135: - r0 = s.retval; - s.tmp_8 = r0; - r0 = (s.tmp_8 + 128); - s.tmp_7 = r0; - r0 = (s.tileScale___50528 + 8); - s.tmp_11 = r0; - r0 = (s.tmp_7 >> s.tmp_11); - s.y0___50985 = (r0); - s.tmp_3 = tiles_TileMap_isObstacle__P39111_mk(s); - s.tmp_3.arg0 = s.arg2; - s.tmp_3.arg1 = s.x0___50965; - s.tmp_3.arg2 = s.y0___50985; - s.callLocIdx = 733; s.pc = 137; return s.tmp_3; - case 137: + if (!r0) { step = 1; continue; } + r0 = false; + { step = 5; continue; } + case 1: + case 2: + s.tmp_8 = tiles_TileMapData_isOutsideMap__P2728_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_8.arg0 = r0; + s.tmp_8.arg1 = s.arg1; + s.tmp_8.arg2 = s.arg2; + s.callLocIdx = 852; s.pc = 6; return s.tmp_8; + case 6: r0 = s.retval; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 87; continue; } - r0 = s.tmp_0; - { step = 88; continue; } - case 87: - r0 = s.s___50500.fields["flags"]; - s.tmp_8 = r0; - r0 = (s.tmp_8 & 2048); s.tmp_7 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_7); - s.tmp_6 = r0; - r0 = pxsim_Boolean__bang(s.tmp_6); - s.tmp_5 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_5); - s.tmp_4 = r0; - r0 = pxsim_Boolean__bang(s.tmp_4); - case 88: - // jmp value (already in r0) + if (!r0) { step = 3; continue; } + r0 = true; + { step = 5; continue; } + case 3: + case 4: + r0 = s.arg0.fields["_map"]; s.tmp_9 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_9); - if (!r0) { step = 89; continue; } - s.tmp_10 = r0 = s.overlappedTiles___50953; - s.tmp_12 = tiles_TileMap_getTile__P39102_mk(s); - s.tmp_12.arg0 = s.arg2; - s.tmp_12.arg1 = s.x0___50965; - s.tmp_12.arg2 = s.y0___50985; - s.callLocIdx = 734; s.pc = 138; return s.tmp_12; - case 138: - r0 = s.retval; + r0 = s.tmp_9.fields["layers"]; s.tmp_11 = r0; - r0 = pxsim_Array__push(s.tmp_10, s.tmp_11); - case 89: - case 90: - r0 = (s.tileSize___50531 << 8); - s.tmp_0 = r0; - r0 = (s.tmp_0 + s.y___50975); - s.y___50975 = (r0); - { step = 86; continue; } - case 91: - r0 = (s.tileSize___50531 << 8); - s.tmp_0 = r0; - r0 = (s.tmp_0 + s.x___50955); - s.x___50955 = (r0); - { step = 85; continue; } - case 92: - r0 = pxsim_Array__length(s.overlappedTiles___50953); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 93; continue; } - s.tmp_1 = ArcadePhysicsEngine_tilemapOverlaps__P38872_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_1.arg1 = s.s___50500; - s.tmp_1.arg2 = s.overlappedTiles___50953; - s.callLocIdx = 737; s.pc = 139; return s.tmp_1; - case 139: - r0 = s.retval; - case 93: - case 94: - case 95: - case 96: - r0 = undefined; + 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() } } } -ArcadePhysicsEngine_tilemapCollisions__P38871.info = {"start":12929,"length":9654,"line":379,"column":4,"endLine":618,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapCollisions","argumentNames":["this","movingSprite","tm"]} +tiles_TileMap_isObstacle__P2755.info = {"start":16232,"length":211,"line":515,"column":8,"endLine":520,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isObstacle","argumentNames":["this","col","row"]} -function ArcadePhysicsEngine_tilemapCollisions__P38871_mk(s) { +function tiles_TileMap_isObstacle__P2755_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P38871, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_isObstacle__P2755, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -33111,47 +31195,6 @@ function ArcadePhysicsEngine_tilemapCollisions__P38871_mk(s) { tmp_9: undefined, tmp_10: undefined, tmp_11: undefined, - tmp_12: undefined, - tmp_13: undefined, - tmp_14: undefined, - tmp_15: undefined, - tmp_16: undefined, - tmp_17: undefined, - tmp_18: undefined, - tmp_19: undefined, - tmp_20: undefined, - tmp_21: undefined, - s___50500: undefined, - hbox___50525: undefined, - tileScale___50528: undefined, - tileSize___50531: undefined, - xDiff___50535: undefined, - yDiff___50542: undefined, - right___50558: undefined, - x0___50562: undefined, - collidedTiles___50577: undefined, - y___50579: undefined, - y0___50593: undefined, - obstacle___50609: undefined, - collisionDirection___50638: undefined, - tile___50666: undefined, - unnamed264___U14: undefined, - unnamed265___U15: undefined, - down___50759: undefined, - y0___50763: undefined, - collidedTiles___50778: undefined, - x___50780: undefined, - x0___50790: undefined, - obstacle___50804: undefined, - collisionDirection___50831: undefined, - tile___50859: undefined, - unnamed266___U24: undefined, - unnamed267___U25: undefined, - overlappedTiles___50953: undefined, - x___50955: undefined, - x0___50965: undefined, - y___50975: undefined, - y0___50985: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -33161,7 +31204,7 @@ function ArcadePhysicsEngine_tilemapCollisions__P38871_mk(s) { -function ArcadePhysicsEngine_tilemapCollisions_inline__P50617(s) { +function tiles_TileMapData_isWall__P2727(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33173,33 +31216,39 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - r0 = s.arg0.fields["tileIndex"]; - s.tmp_0 = r0; - r0 = s.caps[0].fields["tileIndex"]; + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C2716_VT)) failedCast(r0); + r0 = s.arg0.fields["layers"]; s.tmp_1 = r0; - r0 = (s.tmp_0 === s.tmp_1); + 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() } } } -ArcadePhysicsEngine_tilemapCollisions_inline__P50617.info = {"start":15147,"length":39,"line":441,"column":48,"endLine":441,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} +tiles_TileMapData_isWall__P2727.info = {"start":8218,"length":107,"line":274,"column":8,"endLine":276,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isWall","argumentNames":["this","col","row"]} -function ArcadePhysicsEngine_tilemapCollisions_inline__P50617_mk(s) { +function tiles_TileMapData_isWall__P2727_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P50617, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_isWall__P2727, 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 ArcadePhysicsEngine_tilemapCollisions_inline__P50812(s) { +function tiles_TileMap_getTile__P2748(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33211,33 +31260,87 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - r0 = s.arg0.fields["tileIndex"]; + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C2692_VT); s.tmp_0 = r0; - r0 = s.caps[0].fields["tileIndex"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 === s.tmp_1); + s.tmp_1 = tiles_Location_constructor__P2693_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.tmp_1.arg3 = s.arg0; + s.callLocIdx = 828; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_tilemapCollisions_inline__P50812.info = {"start":18668,"length":39,"line":522,"column":48,"endLine":522,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} +tiles_TileMap_getTile__P2748.info = {"start":11070,"length":111,"line":380,"column":8,"endLine":382,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} -function ArcadePhysicsEngine_tilemapCollisions_inline__P50812_mk(s) { +function tiles_TileMap_getTile__P2748_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P50812, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_getTile__P2748, 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__P2693(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__C2692_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__P2693.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__P2693_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_constructor__P2693, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function tiles_TileMap_getObstacle__P39112(s) { +function Sprite_registerObstacle__P2425(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33247,100 +31350,275 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.index___51332 = undefined; - s.tile___51344 = undefined; + s.collisionHandlers___15531 = undefined; + s.wallCollisionHandlers___15538 = undefined; + s.wallHandlersToRun___15563 = undefined; + s.asTileLocation___15576 = 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, tiles_TileMap__C39090_VT)) failedCast(r0); - s.tmp_1 = tiles_TileMapData_isOutsideMap__P39086_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.arg1; - s.tmp_1.arg2 = s.arg2; - s.callLocIdx = 854; s.pc = 3; return s.tmp_1; - case 3: + if (!checkSubtype(r0, Sprite__C2340_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__P2998_mk(s); + s.callLocIdx = 414; s.pc = 9; return s.tmp_1; + case 9: r0 = s.retval; + r0 = r0.fields["collisionHandlers"]; s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); + s.tmp_3 = if_tileIndex_1_mk(s); + s.tmp_3.arg0 = s.arg2; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "tileIndex"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["tileIndex"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["tileIndex"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 415; s.pc = 10; return s.tmp_3; } + } + case 10: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2); + s.collisionHandlers___15531 = (r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 416; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + r0 = r0.fields["wallCollisionHandlers"]; + s.wallCollisionHandlers___15538 = (r0); + r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___15531); if (!r0) { step = 1; continue; } - r0 = 0; - { step = 2; continue; } - case 1: - s.tmp_2 = tiles_TileMapData_getTile__P39080_mk(s); - r0 = s.arg0.fields["_map"]; + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P15546); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtcore_mkAction(1, Sprite_registerObstacle_inline__P15552); + 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___15531; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 418; s.pc = 13; return s.tmp_3; + case 13: + r0 = s.retval; s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = s.arg1; - s.tmp_2.arg2 = s.arg2; - s.callLocIdx = 855; s.pc = 4; return s.tmp_2; - case 4: + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 420; s.pc = 12; return s.tmp_2; + case 12: r0 = s.retval; + case 1: case 2: + r0 = pxsim_numops_toBoolDecr(s.wallCollisionHandlers___15538); + 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__P2998_mk(s); + s.callLocIdx = 421; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + case 4: // jmp value (already in r0) - s.tmp_3 = r0; - s.index___51332 = (s.tmp_3); - s.tmp_0 = tiles_TileMapData_getTileImage__P39083_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.index___51332; - s.callLocIdx = 856; s.pc = 5; return s.tmp_0; - case 5: + s.tmp_2 = r0; + s.arg3 = (s.tmp_2); + r0 = pxsim_pxtcore_mkAction(1, wallHandlersToRun_inline__P15565); + 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___15538; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 423; s.pc = 15; return s.tmp_1; + case 15: r0 = s.retval; - s.tile___51344 = (r0); - r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C38796_VT); + s.wallHandlersToRun___15563 = (r0); + r0 = pxsim_Array__length(s.wallHandlersToRun___15563); s.tmp_0 = r0; - s.tmp_1 = sprites_StaticObstacle_constructor__P38803_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = s.tile___51344; - 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"]; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_1 = tiles_TileMap_getTile__P2748_mk(s); + s.tmp_1.arg0 = s.arg3; + s.tmp_3 = if_left_1_mk(s); + s.tmp_3.arg0 = s.arg2; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "left"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["left"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["left"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 424; s.pc = 17; return s.tmp_3; } + } + case 17: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.arg3.fields["_scale"]; + s.tmp_4 = r0; + r0 = (s.tmp_2 >> s.tmp_4); + s.tmp_1.arg1 = r0; + s.tmp_6 = if_top_1_mk(s); + s.tmp_6.arg0 = s.arg2; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "top"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["top"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["top"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 426; s.pc = 18; return s.tmp_6; } + } + case 18: + r0 = s.retval; s.tmp_5 = r0; - r0 = (s.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___51332; - s.callLocIdx = 860; s.pc = 6; return s.tmp_1; + r0 = s.arg3.fields["_scale"]; + s.tmp_7 = r0; + r0 = (s.tmp_5 >> s.tmp_7); + s.tmp_1.arg2 = r0; + s.callLocIdx = 428; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + s.asTileLocation___15576 = (r0); + r0 = pxsim_pxtcore_mkAction(2, Sprite_registerObstacle_inline__P15592); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.asTileLocation___15576); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = s.wallHandlersToRun___15563; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 430; s.pc = 19; return s.tmp_1; + case 19: + r0 = s.retval; + case 5: case 6: + case 7: + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_registerObstacle__P2425.info = {"start":24832,"length":965,"line":815,"column":4,"endLine":835,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"registerObstacle","argumentNames":["this","direction","other","tm"]} + +function Sprite_registerObstacle__P2425_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle__P2425, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___15531: undefined, + wallCollisionHandlers___15538: undefined, + wallHandlersToRun___15563: undefined, + asTileLocation___15576: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function forEach_inline__P15546(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__P15546.info = {"start":25230,"length":26,"line":822,"column":24,"endLine":822,"endColumn":50,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P15546_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P15546, 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__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: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_2_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); + s.callLocIdx = 419; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 419; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 419; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 419; s.pc = 1; return s.tmp_0; } + } + case 1: r0 = s.retval; - r0 = s.tmp_0; + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMap_getObstacle__P39112.info = {"start":16453,"length":410,"line":522,"column":8,"endLine":532,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getObstacle","argumentNames":["this","col","row"]} +Sprite_registerObstacle_inline__P15552.info = {"start":25283,"length":20,"line":823,"column":25,"endLine":823,"endColumn":45,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} -function tiles_TileMap_getObstacle__P39112_mk(s) { +function Sprite_registerObstacle_inline__P15552_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_getObstacle__P39112, depth: s.depth + 1, + parent: s, fn: Sprite_registerObstacle_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, - tmp_4: undefined, - tmp_5: undefined, - index___51332: undefined, - tile___51344: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function tiles_TileMap_layer__P39098(s) { +function wallHandlersToRun_inline__P15565(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33354,20 +31632,23 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, tiles_TileMap__C39090_VT)) failedCast(r0); - r0 = s.arg0.fields["_layer"]; - return leaveAccessor(s, r0) + 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() } } } -tiles_TileMap_layer__P39098.info = {"start":9967,"length":63,"line":341,"column":8,"endLine":343,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"layer","argumentNames":["this"]} -tiles_TileMap_layer__P39098.isGetter = true; +wallHandlersToRun_inline__P15565.info = {"start":25489,"length":32,"line":828,"column":24,"endLine":828,"endColumn":56,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} -function tiles_TileMap_layer__P39098_mk(s) { +function wallHandlersToRun_inline__P15565_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_layer__P39098, depth: s.depth + 1, + parent: s, fn: wallHandlersToRun_inline__P15565, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, arg0: undefined, } } @@ -33375,7 +31656,7 @@ function tiles_TileMap_layer__P39098_mk(s) { -function sprites_StaticObstacle_constructor__P38803(s) { +function Sprite_registerObstacle_inline__P15592(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33387,44 +31668,43 @@ switch (step) { 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__C38796_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); + s.tmp_0 = if_handler_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + s.tmp_0.arg2 = s.caps[1]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); + s.callLocIdx = 429; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 429; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 429; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 429; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_StaticObstacle_constructor__P38803.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"]} +Sprite_registerObstacle_inline__P15592.info = {"start":25729,"length":36,"line":832,"column":29,"endLine":832,"endColumn":65,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} -function sprites_StaticObstacle_constructor__P38803_mk(s) { +function Sprite_registerObstacle_inline__P15592_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_StaticObstacle_constructor__P38803, depth: s.depth + 1, + parent: s, fn: Sprite_registerObstacle_inline__P15592, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, - arg5: undefined, } } -function tiles_TileMap_getTile__P39102(s) { +function Math_sign__P129(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33436,45 +31716,46 @@ switch (step) { 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__C39090_VT)) failedCast(r0); - r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C39047_VT); + r0 = (s.arg0 == 0); s.tmp_0 = r0; - s.tmp_1 = tiles_Location_constructor__P39064_mk(s); - s.tmp_1.arg0 = s.tmp_0; - s.tmp_1.arg1 = s.arg1; - s.tmp_1.arg2 = s.arg2; - s.tmp_1.arg3 = s.arg0; - s.callLocIdx = 828; s.pc = 1; return s.tmp_1; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 5; continue; } case 1: - r0 = s.retval; - r0 = s.tmp_0; + 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() } } } -tiles_TileMap_getTile__P39102.info = {"start":11070,"length":111,"line":380,"column":8,"endLine":382,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} +Math_sign__P129.info = {"start":16355,"length":125,"line":547,"column":4,"endLine":551,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sign","argumentNames":["x"]} -function tiles_TileMap_getTile__P39102_mk(s) { +function Math_sign__P129_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_getTile__P39102, depth: s.depth + 1, + 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, - arg1: undefined, - arg2: undefined, } } -function tiles_Location_constructor__P39064(s) { +function helpers_arraySome__P107(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33484,39 +31765,67 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.len___15600 = undefined; + s.i___15603 = 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, tiles_Location__C39047_VT)) failedCast(r0); - r0 = (s.arg0).fields["_col"] = (s.arg1); - r0 = (s.arg0).fields["_row"] = (s.arg2); - r0 = undefined; + r0 = pxsim_Array__length(s.arg0); + s.len___15600 = (r0); + s.i___15603 = (0); + case 1: + r0 = (s.i___15603 < s.len___15600); + 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___15603); + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.i___15603; + 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___15603 + 1); + s.i___15603 = (r0); + { step = 1; continue; } + case 4: + r0 = false; + case 5: return leave(s, r0) default: oops() } } } -tiles_Location_constructor__P39064.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"]} +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 tiles_Location_constructor__P39064_mk(s) { +function helpers_arraySome__P107_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_constructor__P39064, depth: s.depth + 1, + 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___15600: undefined, + i___15603: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function ArcadePhysicsEngine_tilemapOverlaps__P38872(s) { +function tiles_TileMap_isOnWall__P2757(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33526,115 +31835,191 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.alreadyHandled___51032 = undefined; - s.tile___51035 = undefined; - s.unnamed268___U2 = undefined; - s.unnamed269___U3 = undefined; - s.tileOverlapHandlers___51056 = undefined; + s.hbox___14705 = undefined; + s.left___14708 = undefined; + s.right___14714 = undefined; + s.top___14720 = undefined; + s.bottom___14726 = undefined; + s.col___14732 = undefined; + s.row___14738 = 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__C38855_VT)) failedCast(r0); - r0 = pxsim_Array__mk(); - s.alreadyHandled___51032 = (r0); - s.tile___51035 = (undefined); - s.unnamed268___U2 = (s.arg2); - s.unnamed269___U3 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed269___U3; - r0 = pxsim_Array__length(s.unnamed268___U2); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 7; continue; } - r0 = pxsim_Array__getAt(s.unnamed268___U2, s.unnamed269___U3); - s.tile___51035 = (r0); - r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapOverlaps_inline__P51039); - s.tmp_2 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.tile___51035); - s.tmp_4 = helpers_arraySome__P37572_mk(s); - s.tmp_4.arg0 = s.alreadyHandled___51032; - s.tmp_4.arg1 = s.tmp_2; - s.callLocIdx = 742; s.pc = 8; return s.tmp_4; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = s.arg1.fields["_hitbox"]; + s.hbox___14705 = (r0); + s.tmp_1 = game_Hitbox_left__P2216_mk(s); + s.tmp_1.arg0 = s.hbox___14705; + s.callLocIdx = 861; s.pc = 8; return s.tmp_1; case 8: r0 = s.retval; + s.tmp_0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 8); s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 2; continue; } - { step = 6; continue; } - case 2: - case 3: - r0 = pxsim_Array__push(s.alreadyHandled___51032, s.tile___51035); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 743; s.pc = 9; return s.tmp_0; + r0 = (s.tmp_0 >> s.tmp_3); + s.left___14708 = (r0); + s.tmp_1 = game_Hitbox_right__P2218_mk(s); + s.tmp_1.arg0 = s.hbox___14705; + s.callLocIdx = 864; s.pc = 9; return s.tmp_1; case 9: r0 = s.retval; - r0 = r0.fields["tileOverlapHandlers"]; - s.tileOverlapHandlers___51056 = (r0); - r0 = pxsim_numops_toBoolDecr(s.tileOverlapHandlers___51056); - if (!r0) { step = 4; continue; } - r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P51064); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tile___51035); - r0 = pxsim_pxtcore_mkAction(2, ArcadePhysicsEngine_tilemapOverlaps_inline__P51081); - s.tmp_1 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg1); - r0 = pxsim_pxtrt_stclo(s.tmp_1, 1, s.tile___51035); - s.tmp_2 = helpers_arrayForEach__P37574_mk(s); - s.tmp_3 = helpers_arrayFilter__P37575_mk(s); - s.tmp_3.arg0 = s.tileOverlapHandlers___51056; - s.tmp_3.arg1 = s.tmp_0; - s.callLocIdx = 746; s.pc = 11; return s.tmp_3; + 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___14714 = (r0); + s.tmp_1 = game_Hitbox_top__P2217_mk(s); + s.tmp_1.arg0 = s.hbox___14705; + s.callLocIdx = 867; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 8); + s.tmp_3 = r0; + r0 = (s.tmp_0 >> s.tmp_3); + s.top___14720 = (r0); + s.tmp_1 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_1.arg0 = s.hbox___14705; + s.callLocIdx = 870; s.pc = 11; return s.tmp_1; case 11: r0 = s.retval; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = s.tmp_1; - s.callLocIdx = 748; s.pc = 10; return s.tmp_2; - case 10: + 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___14726 = (r0); + s.col___14732 = (s.left___14708); + case 1: + r0 = (s.col___14732 <= s.right___14714); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.row___14738 = (s.top___14720); + case 2: + r0 = (s.row___14738 <= s.bottom___14726); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = tiles_TileMap_isObstacle__P2755_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.col___14732; + s.tmp_2.arg2 = s.row___14738; + s.callLocIdx = 873; s.pc = 12; return s.tmp_2; + case 12: r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = true; + { step = 7; continue; } + case 3: case 4: + r0 = (s.row___14738 + 1); + s.row___14738 = (r0); + { step = 2; continue; } case 5: - case 6: - r0 = (s.unnamed269___U3 + 1); - s.unnamed269___U3 = (r0); + r0 = (s.col___14732 + 1); + s.col___14732 = (r0); { step = 1; continue; } + case 6: + r0 = false; case 7: - s.unnamed268___U2 = (undefined); - r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_tilemapOverlaps__P38872.info = {"start":22860,"length":707,"line":626,"column":4,"endLine":642,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapOverlaps","argumentNames":["this","sprite","overlappedTiles"]} +tiles_TileMap_isOnWall__P2757.info = {"start":16873,"length":627,"line":534,"column":8,"endLine":551,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOnWall","argumentNames":["this","s"]} -function ArcadePhysicsEngine_tilemapOverlaps__P38872_mk(s) { +function tiles_TileMap_isOnWall__P2757_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps__P38872, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_isOnWall__P2757, depth: s.depth + 1, pc: 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___51032: undefined, - tile___51035: undefined, - unnamed268___U2: undefined, - unnamed269___U3: undefined, - tileOverlapHandlers___51056: undefined, + hbox___14705: undefined, + left___14708: undefined, + right___14714: undefined, + top___14720: undefined, + bottom___14726: undefined, + col___14732: undefined, + row___14738: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function MovingSprite_constructor__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.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__C2524_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__P2525.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__P2525_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: MovingSprite_constructor__P2525, 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_tilemapOverlaps_inline__P51039(s) { +function ArcadePhysicsEngine_move__P2538(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33644,100 +32029,546 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.dtMs___15675 = undefined; + s.dt2___15681 = undefined; + s.scene___15685 = undefined; + s.tileMap___15688 = undefined; + s.movingSprites___15691 = undefined; + s.MAX_STEP_COUNT___15722 = undefined; + s.overlapHandlers___15734 = undefined; + s.selected___15741 = undefined; + s.buffers___15742 = undefined; + s.count___15746 = undefined; + s.currMovers___15756 = undefined; + s.remainingMovers___15763 = undefined; + s.ms___15768 = undefined; + s.unnamed74___U13 = undefined; + s.unnamed75___U14 = undefined; + s.s___15770 = undefined; + s.stepX___15863 = undefined; + s.stepY___15877 = undefined; + s.bounce___15940 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0.fields["_col"]; + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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 = 539; s.pc = 53; return s.tmp_0; + case 53: + r0 = s.retval; + s.dtMs___15675 = (r0); + r0 = pxsim.Math_.idiv(s.dtMs___15675, 2); + s.dt2___15681 = (r0); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 540; s.pc = 54; return s.tmp_0; + case 54: + r0 = s.retval; + s.scene___15685 = (r0); + r0 = s.scene___15685.fields["tileMap"]; + s.tileMap___15688 = (r0); + r0 = pxsim_pxtcore_mkAction(3, movingSprites_inline__P15693); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtMs___15675); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___15681); + 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 = 542; s.pc = 55; return s.tmp_1; + case 55: + r0 = s.retval; + s.movingSprites___15691 = (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__P15705; + s.callLocIdx = 546; s.pc = 56; return s.tmp_0; + case 56: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_clear__P2451_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 547; s.pc = 57; return s.tmp_0; + case 57: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_resizeBuckets__P2450_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["sprites"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 548; s.pc = 58; return s.tmp_0; + case 58: + r0 = s.retval; + r0 = s.arg0.fields["maxVelocity"]; + s.tmp_3 = r0; + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_5, s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.dtMs___15675); s.tmp_1 = r0; - r0 = s.caps[0].fields["_col"]; + 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___15722 = (r0); + s.tmp_0 = helpers_arraySlice__P115_mk(s); + r0 = s.scene___15685.fields["overlapHandlers"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = undefined; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 553; s.pc = 59; return s.tmp_0; + case 59: + r0 = s.retval; + s.overlapHandlers___15734 = (r0); + s.selected___15741 = (0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___15691); + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + s.buffers___15742 = (s.tmp_0); + s.count___15746 = (0); + case 1: + r0 = (s.count___15746 < s.MAX_STEP_COUNT___15722); + 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___15742, s.selected___15741); + s.tmp_2 = r0; + r0 = pxsim_Array__length(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_1 !== 0); + case 3: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 52; continue; } + r0 = pxsim_Array__getAt(s.buffers___15742, s.selected___15741); + s.currMovers___15756 = (r0); + r0 = (s.selected___15741 ^ 1); + s.selected___15741 = (r0); + r0 = pxsim_Array__getAt(s.buffers___15742, s.selected___15741); + s.remainingMovers___15763 = (r0); + s.ms___15768 = (undefined); + s.unnamed74___U13 = (s.currMovers___15756); + 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 = 49; continue; } + r0 = pxsim_Array__getAt(s.unnamed74___U13, s.unnamed75___U14); + s.ms___15768 = (r0); + r0 = s.ms___15768.fields["sprite"]; + s.s___15770 = (r0); + r0 = s.ms___15768.fields["cachedVx"]; + s.tmp_1 = r0; + r0 = s.s___15770.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___15770.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___15768).fields["dx"] = (0); + { step = 14; continue; } + case 5: + r0 = s.s___15770.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___15768.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___15770.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___15768.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___15768; + r0 = s.ms___15768.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___15768; + r0 = s.ms___15768.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___15770.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.ms___15768).fields["cachedVx"] = (s.tmp_0); + case 15: + case 16: + r0 = s.ms___15768.fields["cachedVy"]; + s.tmp_1 = r0; + r0 = s.s___15770.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___15770.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___15768).fields["dy"] = (0); + { step = 26; continue; } + case 17: + r0 = s.s___15770.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___15768.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___15770.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___15768.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___15768; + r0 = s.ms___15768.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___15768; + r0 = s.ms___15768.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___15770.fields["_vy"]; + s.tmp_0 = r0; + r0 = (s.ms___15768).fields["cachedVy"] = (s.tmp_0); + case 27: + case 28: + s.tmp_2 = Fx_abs__P165_mk(s); + r0 = s.ms___15768.fields["xStep"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 558; s.pc = 60; return s.tmp_2; + case 60: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = Fx_abs__P165_mk(s); + r0 = s.ms___15768.fields["dx"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 559; s.pc = 61; return s.tmp_4; + case 61: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 29; continue; } + r0 = s.ms___15768.fields["dx"]; + { step = 30; continue; } + case 29: + r0 = s.ms___15768.fields["xStep"]; + case 30: + // jmp value (already in r0) + s.tmp_5 = r0; + s.stepX___15863 = (s.tmp_5); + s.tmp_2 = Fx_abs__P165_mk(s); + r0 = s.ms___15768.fields["yStep"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 560; s.pc = 62; return s.tmp_2; + case 62: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = Fx_abs__P165_mk(s); + r0 = s.ms___15768.fields["dy"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 561; s.pc = 63; return s.tmp_4; + case 63: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 31; continue; } + r0 = s.ms___15768.fields["dy"]; + { step = 32; continue; } + case 31: + r0 = s.ms___15768.fields["yStep"]; + case 32: + // jmp value (already in r0) + s.tmp_5 = r0; + s.stepY___15877 = (s.tmp_5); + s.tmp_0 = r0 = s.ms___15768; + r0 = s.ms___15768.fields["dx"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.stepX___15863); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); + s.tmp_0 = r0 = s.ms___15768; + r0 = s.ms___15768.fields["dy"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.stepY___15877); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); + r0 = s.s___15770.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.s___15770).fields["_lastX"] = (s.tmp_0); + r0 = s.s___15770.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.s___15770).fields["_lastY"] = (s.tmp_0); + s.tmp_0 = r0 = s.s___15770; + r0 = s.s___15770.fields["_x"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.stepX___15863); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.s___15770; + r0 = s.s___15770.fields["_y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.stepY___15877); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + r0 = s.s___15770.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__P2452_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.s___15770; + s.callLocIdx = 566; s.pc = 64; return s.tmp_4; + case 64: + r0 = s.retval; + case 33: + case 34: + s.tmp_0 = r0 = s.tileMap___15688; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 35; continue; } + r0 = s.tmp_0; + { step = 36; continue; } + case 35: + r0 = s.tileMap___15688.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 = (s.tmp_1 === s.tmp_2); + 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__P4778_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = s.ms___15768; + s.tmp_6.arg2 = s.tileMap___15688; + s.callLocIdx = 568; s.pc = 65; return s.tmp_6; + case 65: + r0 = s.retval; + case 37: + case 38: + r0 = s.s___15770.fields["flags"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & 32); + s.bounce___15940 = (r0); + r0 = s.s___15770.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 = 1; continue; } + if (!r0) { step = 39; continue; } r0 = s.tmp_0; - { step = 2; continue; } - case 1: - r0 = s.arg0.fields["_row"]; + { step = 42; continue; } + case 39: + s.tmp_2 = r0 = s.bounce___15940; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 40; continue; } + r0 = s.tmp_2; + { step = 41; continue; } + case 40: + r0 = pxsim_numops_toBoolDecr(s.tileMap___15688); s.tmp_3 = r0; - r0 = s.caps[0].fields["_row"]; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 41: + // jmp value (already in r0) s.tmp_4 = r0; - r0 = (s.tmp_3 === s.tmp_4); - case 2: + r0 = s.tmp_4; + case 42: // jmp value (already in r0) s.tmp_5 = r0; - r0 = s.tmp_5; - return leave(s, r0) - default: oops() -} } } -ArcadePhysicsEngine_tilemapOverlaps_inline__P51039.info = {"start":23075,"length":51,"line":630,"column":36,"endLine":630,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["l"]} - -function ArcadePhysicsEngine_tilemapOverlaps_inline__P51039_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P51039, depth: s.depth + 1, - pc: 0, retval: undefined, 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__P51064(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, 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"]; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 43; continue; } + s.tmp_6 = ArcadePhysicsEngine_screenEdgeCollisions__P4777_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = s.ms___15768; + s.tmp_6.arg2 = s.bounce___15940; + r0 = s.scene___15685.fields["camera"]; + s.tmp_6.arg3 = r0; + s.callLocIdx = 569; s.pc = 66; return s.tmp_6; + case 66: + r0 = s.retval; + case 43: + case 44: + s.tmp_2 = Fx_abs__P165_mk(s); + r0 = s.ms___15768.fields["dx"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 570; s.pc = 67; return s.tmp_2; + case 67: + r0 = s.retval; s.tmp_1 = r0; - r0 = s.caps[0].fields["_kind"]; - s.tmp_2 = r0; - r0 = (s.tmp_1 == s.tmp_2); + r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___2520); s.tmp_0 = r0; r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 1; continue; } + if (!r0) { step = 45; continue; } r0 = s.tmp_0; - { step = 2; continue; } - case 1: - r0 = s.arg0.fields["tileKind"]; - s.tmp_3 = r0; - s.tmp_5 = tiles_getTileImage__P39125_mk(s); - s.tmp_5.arg0 = s.caps[1]; - s.callLocIdx = 745; s.pc = 3; return s.tmp_5; - case 3: + { step = 46; continue; } + case 45: + s.tmp_4 = Fx_abs__P165_mk(s); + r0 = s.ms___15768.fields["dy"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 571; s.pc = 68; return s.tmp_4; + case 68: r0 = s.retval; - s.tmp_4 = r0; - r0 = pxsim_ImageMethods.equals(s.tmp_3, s.tmp_4); - case 2: + s.tmp_3 = r0; + r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___2520); + case 46: // jmp value (already in r0) - s.tmp_6 = r0; - r0 = s.tmp_6; + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 47; continue; } + r0 = pxsim_Array__push(s.remainingMovers___15763, s.ms___15768); + case 47: + case 48: + r0 = (s.unnamed75___U14 + 1); + s.unnamed75___U14 = (r0); + { step = 4; continue; } + case 49: + s.unnamed74___U13 = (undefined); + s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P4776_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.currMovers___15756; + s.tmp_0.arg2 = s.overlapHandlers___15734; + s.callLocIdx = 572; s.pc = 69; return s.tmp_0; + case 69: + r0 = s.retval; + case 50: + r0 = pxsim_Array__length(s.currMovers___15756); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 51; continue; } + r0 = pxsim_Array_.pop(s.currMovers___15756); + { step = 50; continue; } + case 51: + r0 = (s.count___15746 + 1); + s.count___15746 = (r0); + { step = 1; continue; } + case 52: + r0 = undefined; return leave(s, r0) default: oops() } } } -forEach_inline__P51064.info = {"start":23395,"length":81,"line":638,"column":28,"endLine":638,"endColumn":109,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} +ArcadePhysicsEngine_move__P2538.info = {"start":2822,"length":4105,"line":112,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]} -function forEach_inline__P51064_mk(s) { +function ArcadePhysicsEngine_move__P2538_mk(s) { checkStack(s.depth); return { - parent: s, fn: forEach_inline__P51064, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_move__P2538, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -33746,14 +32577,39 @@ function forEach_inline__P51064_mk(s) { 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___15675: undefined, + dt2___15681: undefined, + scene___15685: undefined, + tileMap___15688: undefined, + movingSprites___15691: undefined, + MAX_STEP_COUNT___15722: undefined, + overlapHandlers___15734: undefined, + selected___15741: undefined, + buffers___15742: undefined, + count___15746: undefined, + currMovers___15756: undefined, + remainingMovers___15763: undefined, + ms___15768: undefined, + unnamed74___U13: undefined, + unnamed75___U14: undefined, + s___15770: undefined, + stepX___15863: undefined, + stepY___15877: undefined, + bounce___15940: undefined, arg0: undefined, + arg1: undefined, } } -function ArcadePhysicsEngine_tilemapOverlaps_inline__P51081(s) { +function movingSprites_inline__P15693(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33767,31 +32623,23 @@ switch (step) { 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 = ArcadePhysicsEngine_createMovingSprite__P4775_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; s.tmp_0.arg2 = s.caps[1]; - if (!s.tmp_0.arg0.vtable.iface) { - setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); - s.callLocIdx = 747; s.pc = 1; return s.tmp_0; - } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; - if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 747; s.pc = 1; return s.tmp_0; } - else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 747; s.pc = 1; return s.tmp_0;; } - else { s.callLocIdx = 747; s.pc = 1; return s.tmp_0; } - } + s.tmp_0.arg3 = s.caps[2]; + s.callLocIdx = 541; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_tilemapOverlaps_inline__P51081.info = {"start":23507,"length":28,"line":639,"column":29,"endLine":639,"endColumn":57,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} +movingSprites_inline__P15693.info = {"start":3181,"length":52,"line":121,"column":17,"endLine":121,"endColumn":69,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["sprite"]} -function ArcadePhysicsEngine_tilemapOverlaps_inline__P51081_mk(s) { +function movingSprites_inline__P15693_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P51081, depth: s.depth + 1, + parent: s, fn: movingSprites_inline__P15693, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -33801,7 +32649,7 @@ function ArcadePhysicsEngine_tilemapOverlaps_inline__P51081_mk(s) { -function tiles_getTileImage__P39125(s) { +function ArcadePhysicsEngine_move_inline__P15705(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33811,79 +32659,62 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scene___51089 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 876; s.pc = 6; return s.tmp_0; - case 6: + s.tmp_1 = Sprite_vx__P2357_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 543; s.pc = 5; return s.tmp_1; + case 5: r0 = s.retval; - s.scene___51089 = (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___51089.fields["tileMap"]; - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - s.tmp_2 = r0; - r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_2 = Sprite_vy__P2359_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 544; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; case 2: // jmp value (already in r0) - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 3; continue; } - r0 = pxsim.image.ofBuffer(_hex51099); - { step = 5; continue; } - case 3: - case 4: - s.tmp_5 = tiles_TileMap_getTileImage__P39114_mk(s); - r0 = s.scene___51089.fields["tileMap"]; - s.tmp_5.arg0 = r0; - s.tmp_6 = tiles_Location_tileSet__P39057_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 877; s.pc = 8; return s.tmp_6; - case 8: - r0 = s.retval; - s.tmp_5.arg1 = r0; - s.callLocIdx = 878; s.pc = 7; return s.tmp_5; + s.tmp_4 = Sprite_clearObstacles__P2424_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 545; s.pc = 7; return s.tmp_4; case 7: r0 = s.retval; - case 5: + case 3: + case 4: + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_getTileImage__P39125.info = {"start":21871,"length":207,"line":673,"column":4,"endLine":677,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["loc"]} +ArcadePhysicsEngine_move_inline__P15705.info = {"start":3316,"length":66,"line":124,"column":29,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["s"]} -function tiles_getTileImage__P39125_mk(s) { +function ArcadePhysicsEngine_move_inline__P15705_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_getTileImage__P39125, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_move_inline__P15705, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___51089: undefined, arg0: undefined, } } -const _hex51099 = pxsim.BufferMethods.createBufferFromHex("8704000000000000") -function tiles_TileMap_getTileImage__P39114(s) { +function ArcadePhysicsEngine_screenEdgeCollisions__P4777(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33893,40 +32724,306 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.s___16509 = undefined; + s.offset___16524 = 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, tiles_TileMap__C39090_VT)) failedCast(r0); - s.tmp_0 = tiles_TileMapData_getTileImage__P39083_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 875; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = s.arg1.fields["sprite"]; + s.s___16509 = (r0); + r0 = s.s___16509.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__C2340_v4_1_mk(s); + s.tmp_4.arg0 = s.s___16509; + if (!checkSubtype(s.tmp_4.arg0, Sprite__C2340_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; + s.pc = 21; return s.tmp_4; + case 21: + r0 = s.retval; case 1: + case 2: + s.tmp_3 = scene_Camera_isUpdated__P2796_mk(s); + s.tmp_3.arg0 = s.arg3; + s.callLocIdx = 617; s.pc = 22; return s.tmp_3; + case 22: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_4 = scene_Camera_update__P2797_mk(s); + s.tmp_4.arg0 = s.arg3; + s.callLocIdx = 618; s.pc = 23; return s.tmp_4; + case 23: + r0 = s.retval; + case 3: + case 4: + s.tmp_2 = game_Hitbox_left__P2216_mk(s); + r0 = s.s___16509.fields["_hitbox"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 619; s.pc = 24; return s.tmp_2; + case 24: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 / 256); + s.tmp_0 = r0; + r0 = s.arg3.fields["_offsetX"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + s.offset___16524 = (r0); + r0 = (s.offset___16524 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = Sprite_left__P2399_mk(s); + s.tmp_2 = r0 = s.s___16509; + s.tmp_1.arg0 = r0; + s.tmp_4 = Sprite_left__P2398_mk(s); + s.tmp_4.arg0 = s.tmp_2; + s.callLocIdx = 622; s.pc = 26; return s.tmp_4; + case 26: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 - s.offset___16524); + s.tmp_1.arg1 = r0; + s.callLocIdx = 623; s.pc = 25; return s.tmp_1; + case 25: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 5; continue; } + s.tmp_0 = Sprite_vx__P2358_mk(s); + s.tmp_0.arg0 = s.s___16509; + s.tmp_2 = Sprite_vx__P2357_mk(s); + s.tmp_2.arg0 = s.s___16509; + s.callLocIdx = 624; s.pc = 28; return s.tmp_2; + case 28: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 625; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + case 5: + case 6: + { step = 12; continue; } + case 7: + s.tmp_4 = game_Hitbox_right__P2218_mk(s); + r0 = s.s___16509.fields["_hitbox"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 626; s.pc = 29; return s.tmp_4; + case 29: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / 256); + s.tmp_2 = r0; + r0 = s.arg3.fields["_offsetX"]; + s.tmp_5 = r0; + r0 = (s.tmp_2 - s.tmp_5); + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + s.tmp_6 = r0; + r0 = (s.tmp_1 - s.tmp_6); + s.tmp_0 = r0; + s.offset___16524 = (r0); + r0 = (s.tmp_0 > 0); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 10; continue; } + s.tmp_8 = Sprite_right__P2401_mk(s); + s.tmp_9 = r0 = s.s___16509; + s.tmp_8.arg0 = r0; + s.tmp_11 = Sprite_right__P2400_mk(s); + s.tmp_11.arg0 = s.tmp_9; + s.callLocIdx = 629; s.pc = 31; return s.tmp_11; + case 31: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 - s.offset___16524); + s.tmp_8.arg1 = r0; + s.callLocIdx = 630; s.pc = 30; return s.tmp_8; + case 30: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 8; continue; } + s.tmp_0 = Sprite_vx__P2358_mk(s); + s.tmp_0.arg0 = s.s___16509; + s.tmp_2 = Sprite_vx__P2357_mk(s); + s.tmp_2.arg0 = s.s___16509; + s.callLocIdx = 631; s.pc = 33; return s.tmp_2; + case 33: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 632; s.pc = 32; return s.tmp_0; + case 32: + r0 = s.retval; + case 8: + case 9: + case 10: + case 11: + case 12: + s.tmp_3 = game_Hitbox_top__P2217_mk(s); + r0 = s.s___16509.fields["_hitbox"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 633; s.pc = 34; return s.tmp_3; + case 34: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 256); + s.tmp_1 = r0; + r0 = s.arg3.fields["_offsetY"]; + s.tmp_4 = r0; + r0 = (s.tmp_1 - s.tmp_4); + s.tmp_0 = r0; + s.offset___16524 = (r0); + r0 = (s.tmp_0 < 0); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 15; continue; } + s.tmp_6 = Sprite_top__P2403_mk(s); + s.tmp_7 = r0 = s.s___16509; + s.tmp_6.arg0 = r0; + s.tmp_9 = Sprite_top__P2402_mk(s); + s.tmp_9.arg0 = s.tmp_7; + s.callLocIdx = 636; s.pc = 36; return s.tmp_9; + case 36: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 - s.offset___16524); + s.tmp_6.arg1 = r0; + s.callLocIdx = 637; s.pc = 35; return s.tmp_6; + case 35: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 13; continue; } + s.tmp_0 = Sprite_vy__P2360_mk(s); + s.tmp_0.arg0 = s.s___16509; + s.tmp_2 = Sprite_vy__P2359_mk(s); + s.tmp_2.arg0 = s.s___16509; + s.callLocIdx = 638; s.pc = 38; return s.tmp_2; + case 38: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 639; s.pc = 37; return s.tmp_0; + case 37: + r0 = s.retval; + case 13: + case 14: + { step = 20; continue; } + case 15: + s.tmp_4 = game_Hitbox_bottom__P2219_mk(s); + r0 = s.s___16509.fields["_hitbox"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 640; s.pc = 39; return s.tmp_4; + case 39: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / 256); + s.tmp_2 = r0; + r0 = s.arg3.fields["_offsetY"]; + s.tmp_5 = r0; + r0 = (s.tmp_2 - s.tmp_5); + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.tmp_6 = r0; + r0 = (s.tmp_1 - s.tmp_6); + s.tmp_0 = r0; + s.offset___16524 = (r0); + r0 = (s.tmp_0 > 0); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 18; continue; } + s.tmp_8 = Sprite_bottom__P2405_mk(s); + s.tmp_9 = r0 = s.s___16509; + s.tmp_8.arg0 = r0; + s.tmp_11 = Sprite_bottom__P2404_mk(s); + s.tmp_11.arg0 = s.tmp_9; + s.callLocIdx = 643; s.pc = 41; return s.tmp_11; + case 41: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 - s.offset___16524); + s.tmp_8.arg1 = r0; + s.callLocIdx = 644; s.pc = 40; return s.tmp_8; + case 40: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 16; continue; } + s.tmp_0 = Sprite_vy__P2360_mk(s); + s.tmp_0.arg0 = s.s___16509; + s.tmp_2 = Sprite_vy__P2359_mk(s); + s.tmp_2.arg0 = s.s___16509; + s.callLocIdx = 645; s.pc = 43; return s.tmp_2; + case 43: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 646; s.pc = 42; return s.tmp_0; + case 42: r0 = s.retval; + case 16: + case 17: + case 18: + case 19: + case 20: + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMap_getTileImage__P39114.info = {"start":17510,"length":96,"line":553,"column":8,"endLine":555,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} +ArcadePhysicsEngine_screenEdgeCollisions__P4777.info = {"start":12018,"length":905,"line":355,"column":4,"endLine":377,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"screenEdgeCollisions","argumentNames":["this","movingSprite","bounce","camera"]} -function tiles_TileMap_getTileImage__P39114_mk(s) { +function ArcadePhysicsEngine_screenEdgeCollisions__P4777_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_getTileImage__P39114, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_screenEdgeCollisions__P4777, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + s___16509: undefined, + offset___16524: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function tiles_Location_tileSet__P39057(s) { +function scene_Camera_isUpdated__P2796(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33941,34 +33038,74 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - s.tmp_0 = tiles_TileMap_getTileIndex__P39103_mk(s); - s.tmp_1 = tiles_Location_tileMap__P39048_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 806; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg0 = r0; - r0 = s.arg0.fields["_col"]; - s.tmp_0.arg1 = r0; - r0 = s.arg0.fields["_row"]; - s.tmp_0.arg2 = r0; - s.callLocIdx = 807; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + r0 = s.arg0.fields["sprite"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 4; continue; } case 1: + s.tmp_5 = Sprite_x__P2353_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_5.arg0 = r0; + s.callLocIdx = 889; s.pc = 5; return s.tmp_5; + case 5: r0 = s.retval; - return leaveAccessor(s, r0) + s.tmp_4 = r0; + r0 = s.arg0.fields["_lastUpdatedSpriteX"]; + s.tmp_6 = r0; + r0 = (s.tmp_4 === s.tmp_6); + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (r0) { step = 2; continue; } + r0 = s.tmp_3; + { step = 3; continue; } + case 2: + s.tmp_8 = Sprite_y__P2355_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_8.arg0 = r0; + s.callLocIdx = 890; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + s.tmp_7 = r0; + r0 = s.arg0.fields["_lastUpdatedSpriteY"]; + s.tmp_9 = r0; + r0 = (s.tmp_7 === s.tmp_9); + case 3: + // jmp value (already in r0) + s.tmp_10 = r0; + r0 = s.tmp_10; + case 4: + // jmp value (already in r0) + s.tmp_11 = r0; + r0 = s.tmp_11; + return leave(s, r0) default: oops() } } } -tiles_Location_tileSet__P39057.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__P39057.isGetter = true; +scene_Camera_isUpdated__P2796.info = {"start":2403,"length":150,"line":79,"column":8,"endLine":81,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"isUpdated","argumentNames":["this"]} -function tiles_Location_tileSet__P39057_mk(s) { +function scene_Camera_isUpdated__P2796_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_tileSet__P39057, depth: s.depth + 1, + parent: s, fn: scene_Camera_isUpdated__P2796, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -33976,7 +33113,7 @@ function tiles_Location_tileSet__P39057_mk(s) { -function tiles_TileMap_getTileIndex__P39103(s) { +function Sprite_bottom__P2405(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -33989,40 +33126,48 @@ switch (step) { 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__C39090_VT)) failedCast(r0); - s.tmp_0 = tiles_TileMapData_getTile__P39080_mk(s); - r0 = s.arg0.fields["_map"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.arg2; - s.callLocIdx = 830; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P2403_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Sprite_height__P2397_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 365; 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 = 366; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -tiles_TileMap_getTileIndex__P39103.info = {"start":11191,"length":105,"line":384,"column":8,"endLine":386,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileIndex","argumentNames":["this","col","row"]} +Sprite_bottom__P2405.info = {"start":12204,"length":73,"line":440,"column":4,"endLine":442,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this","value"]} -function tiles_TileMap_getTileIndex__P39103_mk(s) { +function Sprite_bottom__P2405_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_TileMap_getTileIndex__P39103, depth: s.depth + 1, + parent: s, fn: Sprite_bottom__P2405, depth: s.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 tiles_Location_tileMap__P39048(s) { +function Sprite_bottom__P2404(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34037,24 +33182,35 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 797; s.pc = 1; return s.tmp_0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_1 = Sprite_top__P2402_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 363; s.pc = 1; return s.tmp_1; case 1: r0 = s.retval; - r0 = r0.fields["tileMap"]; + s.tmp_0 = r0; + s.tmp_3 = Sprite_height__P2397_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 364; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); return leaveAccessor(s, r0) default: oops() } } } -tiles_Location_tileMap__P39048.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__P39048.isGetter = true; +Sprite_bottom__P2404.info = {"start":12052,"length":59,"line":435,"column":4,"endLine":437,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this"]} +Sprite_bottom__P2404.isGetter = true; -function tiles_Location_tileMap__P39048_mk(s) { +function Sprite_bottom__P2404_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_tileMap__P39048, depth: s.depth + 1, + parent: s, fn: Sprite_bottom__P2404, depth: s.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, } } @@ -34062,7 +33218,7 @@ function tiles_Location_tileMap__P39048_mk(s) { -function tiles_Location_row__P39050(s) { +function Sprite_right__P2401(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34074,30 +33230,49 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - r0 = s.arg0.fields["_row"]; - return leaveAccessor(s, r0) + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P2399_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Sprite_width__P2396_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 357; 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 = 358; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) default: oops() } } } -tiles_Location_row__P39050.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__P39050.isGetter = true; +Sprite_right__P2401.info = {"start":11367,"length":71,"line":410,"column":4,"endLine":412,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this","value"]} -function tiles_Location_row__P39050_mk(s) { +function Sprite_right__P2401_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_row__P39050, depth: s.depth + 1, + parent: s, fn: Sprite_right__P2401, depth: s.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_Location_column__P39049(s) { +function Sprite_right__P2400(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34112,19 +33287,35 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - r0 = s.arg0.fields["_col"]; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_1 = Sprite_left__P2398_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 355; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Sprite_width__P2396_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 356; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); return leaveAccessor(s, r0) default: oops() } } } -tiles_Location_column__P39049.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__P39049.isGetter = true; +Sprite_right__P2400.info = {"start":11218,"length":57,"line":405,"column":4,"endLine":407,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this"]} +Sprite_right__P2400.isGetter = true; -function tiles_Location_column__P39049_mk(s) { +function Sprite_right__P2400_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_column__P39049, depth: s.depth + 1, + parent: s, fn: Sprite_right__P2400, depth: s.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, } } @@ -34132,7 +33323,7 @@ function tiles_Location_column__P39049_mk(s) { -function Sprite_registerObstacle__P38727(s) { +function ArcadePhysicsEngine_spriteCollisions__P4776(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34142,166 +33333,189 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.collisionHandlers___51242 = undefined; - s.wallCollisionHandlers___51250 = undefined; - s.wallHandlersToRun___51275 = undefined; - s.asTileLocation___51288 = undefined; + s.ms___15997 = undefined; + s.unnamed76___U1 = undefined; + s.unnamed77___U2 = undefined; + s.sprite___15999 = undefined; + s.overSprites___16006 = undefined; + s.overlapper___16014 = undefined; + s.unnamed78___U6 = undefined; + s.unnamed79___U7 = undefined; + s.thisKind___16020 = undefined; + s.otherKind___16024 = undefined; + s.higher___16037 = undefined; + s.lower___16046 = 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__C38662_VT)) failedCast(r0); - r0 = s.arg0.fields["_obstacles"]; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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_Array_.setAt(s.tmp_0, s.arg1, s.arg2); - s.tmp_1 = game_currentScene__P38454_mk(s); - s.callLocIdx = 414; s.pc = 9; return s.tmp_1; - case 9: - r0 = s.retval; - r0 = r0.fields["collisionHandlers"]; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 21; continue; } + case 1: + case 2: + s.ms___15997 = (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___15997 = (r0); + r0 = s.ms___15997.fields["sprite"]; + s.sprite___15999 = (r0); + r0 = s.sprite___15999.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4610); s.tmp_0 = r0; - s.tmp_3 = if_tileIndex_1_mk(s); - s.tmp_3.arg0 = s.arg2; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "tileIndex"); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["tileIndex"]; - if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["tileIndex"]; } - else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } - else { s.callLocIdx = 415; s.pc = 10; return s.tmp_3; } - } - case 10: + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + { step = 19; continue; } + case 4: + case 5: + s.tmp_2 = sprites_SpriteMap_overlaps__P2448_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_2.arg0 = r0; + r0 = s.ms___15997.fields["sprite"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 610; s.pc = 22; return s.tmp_2; + case 22: r0 = s.retval; + s.overSprites___16006 = (r0); + s.overlapper___16014 = (undefined); + s.unnamed78___U6 = (s.overSprites___16006); + 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___16014 = (r0); + r0 = s.overlapper___16014.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 4610); s.tmp_2 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2); - s.collisionHandlers___51242 = (r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 416; s.pc = 11; return s.tmp_0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 7; continue; } + { step = 17; continue; } + case 7: + case 8: + r0 = s.sprite___15999.fields["_kind"]; + s.thisKind___16020 = (r0); + r0 = s.overlapper___16014.fields["_kind"]; + s.otherKind___16024 = (r0); + r0 = s.sprite___15999.fields["_kindsOverlappedWith"]; + s.tmp_2 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___16024, 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___15999.fields["id"]; + s.tmp_4 = r0; + r0 = s.overlapper___16014.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___15999; + { step = 12; continue; } case 11: - r0 = s.retval; - r0 = r0.fields["wallCollisionHandlers"]; - s.wallCollisionHandlers___51250 = (r0); - r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___51242); - if (!r0) { step = 1; continue; } - r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P51258); + r0 = s.overlapper___16014; + case 12: + // jmp value (already in r0) + s.tmp_6 = r0; + s.higher___16037 = (s.tmp_6); + r0 = (s.higher___16037 === s.sprite___15999); s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - r0 = pxsim_pxtcore_mkAction(1, Sprite_registerObstacle_inline__P51264); - s.tmp_1 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); - s.tmp_2 = helpers_arrayForEach__P37574_mk(s); - s.tmp_3 = helpers_arrayFilter__P37575_mk(s); - s.tmp_3.arg0 = s.collisionHandlers___51242; - s.tmp_3.arg1 = s.tmp_0; - s.callLocIdx = 418; s.pc = 13; return s.tmp_3; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = s.overlapper___16014; + { step = 14; continue; } case 13: - r0 = s.retval; - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = s.tmp_1; - s.callLocIdx = 420; s.pc = 12; return s.tmp_2; - case 12: - r0 = s.retval; - case 1: - case 2: - r0 = pxsim_numops_toBoolDecr(s.wallCollisionHandlers___51250); - 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__P38454_mk(s); - s.callLocIdx = 421; s.pc = 14; return s.tmp_1; + r0 = s.sprite___15999; case 14: - r0 = s.retval; - r0 = r0.fields["tileMap"]; - case 4: // jmp value (already in r0) + s.tmp_1 = r0; + s.lower___16046 = (s.tmp_1); + r0 = s.higher___16037.fields["_overlappers"]; s.tmp_2 = r0; - s.arg3 = (s.tmp_2); - r0 = pxsim_pxtcore_mkAction(1, wallHandlersToRun_inline__P51277); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - s.tmp_1 = helpers_arrayFilter__P37575_mk(s); - s.tmp_1.arg0 = s.wallCollisionHandlers___51250; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 423; s.pc = 15; return s.tmp_1; - case 15: - r0 = s.retval; - s.wallHandlersToRun___51275 = (r0); - r0 = pxsim_Array__length(s.wallHandlersToRun___51275); + r0 = s.lower___16046.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 = 5; continue; } - s.tmp_1 = tiles_TileMap_getTile__P39102_mk(s); - s.tmp_1.arg0 = s.arg3; - s.tmp_3 = if_left_1_mk(s); - s.tmp_3.arg0 = s.arg2; - if (!s.tmp_3.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "left"); - } else { - s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["left"]; - if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["left"]; } - else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } - else { s.callLocIdx = 424; s.pc = 17; return s.tmp_3; } - } - case 17: - r0 = s.retval; - s.tmp_2 = r0; - r0 = s.arg3.fields["_scale"]; + if (!r0) { step = 15; continue; } + r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P16066); s.tmp_4 = r0; - r0 = (s.tmp_2 >> s.tmp_4); - s.tmp_1.arg1 = r0; - s.tmp_6 = if_top_1_mk(s); - s.tmp_6.arg0 = s.arg2; - if (!s.tmp_6.arg0.vtable.iface) { - s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "top"); - } else { - s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["top"]; - if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["top"]; } - else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } - else { s.callLocIdx = 426; s.pc = 18; return s.tmp_6; } - } - case 18: - r0 = s.retval; + r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___16020); + r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___16024); + r0 = pxsim_pxtcore_mkAction(5, ArcadePhysicsEngine_spriteCollisions_inline__P16090); s.tmp_5 = r0; - r0 = s.arg3.fields["_scale"]; - s.tmp_7 = r0; - r0 = (s.tmp_5 >> s.tmp_7); - s.tmp_1.arg2 = r0; - s.callLocIdx = 428; s.pc = 16; return s.tmp_1; - case 16: + r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___16037); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___16046); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.sprite___15999); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.overlapper___16014); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.thisKind___16020); + 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 = 613; s.pc = 24; return s.tmp_7; + case 24: r0 = s.retval; - s.asTileLocation___51288 = (r0); - r0 = pxsim_pxtcore_mkAction(2, Sprite_registerObstacle_inline__P51306); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.asTileLocation___51288); - s.tmp_1 = helpers_arrayForEach__P37574_mk(s); - s.tmp_1.arg0 = s.wallHandlersToRun___51275; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 430; s.pc = 19; return s.tmp_1; - case 19: + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = s.tmp_5; + s.callLocIdx = 615; s.pc = 23; return s.tmp_6; + case 23: r0 = s.retval; - case 5: - case 6: - case 7: - case 8: + 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() } } } -Sprite_registerObstacle__P38727.info = {"start":24832,"length":965,"line":815,"column":4,"endLine":835,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"registerObstacle","argumentNames":["this","direction","other","tm"]} +ArcadePhysicsEngine_spriteCollisions__P4776.info = {"start":9744,"length":2268,"line":309,"column":4,"endLine":353,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"spriteCollisions","argumentNames":["this","movedSprites","handlers"]} -function Sprite_registerObstacle__P38727_mk(s) { +function ArcadePhysicsEngine_spriteCollisions__P4776_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_registerObstacle__P38727, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P4776, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -34311,21 +33525,28 @@ function Sprite_registerObstacle__P38727_mk(s) { tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, - collisionHandlers___51242: undefined, - wallCollisionHandlers___51250: undefined, - wallHandlersToRun___51275: undefined, - asTileLocation___51288: undefined, + ms___15997: undefined, + unnamed76___U1: undefined, + unnamed77___U2: undefined, + sprite___15999: undefined, + overSprites___16006: undefined, + overlapper___16014: undefined, + unnamed78___U6: undefined, + unnamed79___U7: undefined, + thisKind___16020: undefined, + otherKind___16024: undefined, + higher___16037: undefined, + lower___16046: undefined, arg0: undefined, arg1: undefined, arg2: undefined, - arg3: undefined, } } -function forEach_inline__P51258(s) { +function forEach_inline__P16066(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34340,22 +33561,64 @@ switch (step) { 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); + 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__P51258.info = {"start":25230,"length":26,"line":822,"column":24,"endLine":822,"endColumn":50,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} +forEach_inline__P16066.info = {"start":11113,"length":137,"line":335,"column":32,"endLine":336,"endColumn":81,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} -function forEach_inline__P51258_mk(s) { +function forEach_inline__P16066_mk(s) { checkStack(s.depth); return { - parent: s, fn: forEach_inline__P51258, depth: s.depth + 1, + parent: s, fn: forEach_inline__P16066, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -34363,7 +33626,7 @@ function forEach_inline__P51258_mk(s) { -function Sprite_registerObstacle_inline__P51264(s) { +function ArcadePhysicsEngine_spriteCollisions_inline__P16090(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34377,40 +33640,143 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = if_handler_2_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.caps[0]; - if (!s.tmp_0.arg0.vtable.iface) { - setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); - s.callLocIdx = 419; s.pc = 1; return s.tmp_0; + 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__P16100); + 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__P16090.info = {"start":11310,"length":652,"line":338,"column":33,"endLine":349,"endColumn":25,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function ArcadePhysicsEngine_spriteCollisions_inline__P16090_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P16090, 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__P16100(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = s.caps[0].fields["flags"]; + s.tmp_4 = r0; + r0 = s.caps[1].fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_4 | s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 & 4610); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.caps[2].fields["kind"]; + s.tmp_7 = r0; + r0 = (s.caps[3] === s.tmp_7); + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 1; continue; } + r0 = s.caps[0]; + { step = 2; continue; } + case 1: + r0 = s.caps[1]; + case 2: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = s.caps[2].fields["kind"]; + s.tmp_10 = r0; + r0 = (s.caps[3] === s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_9); + if (!r0) { step = 3; continue; } + r0 = s.caps[1]; + { step = 4; continue; } + case 3: + r0 = s.caps[0]; + case 4: + // jmp value (already in r0) + s.tmp_11 = r0; + s.tmp_12 = if_handler_3_mk(s); + s.tmp_12.arg0 = s.caps[2]; + s.tmp_12.arg1 = s.tmp_8; + s.tmp_12.arg2 = s.tmp_11; + if (!s.tmp_12.arg0.vtable.iface) { + setupLambda(s.tmp_12, pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "handler"), 3); + s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; - if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 419; s.pc = 1; return s.tmp_0; } - else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 419; s.pc = 1; return s.tmp_0;; } - else { s.callLocIdx = 419; s.pc = 1; return s.tmp_0; } + s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["handler"]; + if (s.tmp_12.fn == null) { setupLambda(s.tmp_12, s.tmp_12.arg0.fields["handler"], 3); s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } + else if (s.tmp_12.fn.isGetter) { s.tmp_12.stage2Call = true; s.callLocIdx = 614; s.pc = 7; return s.tmp_12;; } + else { s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } } - case 1: + 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() } } } -Sprite_registerObstacle_inline__P51264.info = {"start":25283,"length":20,"line":823,"column":25,"endLine":823,"endColumn":45,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} +ArcadePhysicsEngine_spriteCollisions_inline__P16100.info = {"start":11431,"length":503,"line":340,"column":50,"endLine":348,"endColumn":29,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":[]} -function Sprite_registerObstacle_inline__P51264_mk(s) { +function ArcadePhysicsEngine_spriteCollisions_inline__P16100_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_registerObstacle_inline__P51264, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P16100, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - arg0: 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 wallHandlersToRun_inline__P51277(s) { +function sprites_SpriteMap_overlaps__P2448(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34420,35 +33786,56 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.n___16134 = undefined; + s.o___16138 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0.fields["spriteKind"]; + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_neighbors__P2447_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 487; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.n___16134 = (r0); + r0 = pxsim_pxtcore_mkAction(1, o_inline__P16140); s.tmp_0 = r0; - r0 = s.caps[0].fields["_kind"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 == s.tmp_1); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + s.tmp_1 = helpers_arrayFilter__P110_mk(s); + s.tmp_1.arg0 = s.n___16134; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 489; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.o___16138 = (r0); + r0 = s.o___16138; return leave(s, r0) default: oops() } } } -wallHandlersToRun_inline__P51277.info = {"start":25489,"length":32,"line":828,"column":24,"endLine":828,"endColumn":56,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} +sprites_SpriteMap_overlaps__P2448.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 wallHandlersToRun_inline__P51277_mk(s) { +function sprites_SpriteMap_overlaps__P2448_mk(s) { checkStack(s.depth); return { - parent: s, fn: wallHandlersToRun_inline__P51277, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_overlaps__P2448, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, + n___16134: undefined, + o___16138: undefined, arg0: undefined, + arg1: undefined, } } -function Sprite_registerObstacle_inline__P51306(s) { +function o_inline__P16140(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34462,31 +33849,21 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - s.tmp_0 = if_handler_3_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.caps[0]; - s.tmp_0.arg2 = s.caps[1]; - if (!s.tmp_0.arg0.vtable.iface) { - setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); - s.callLocIdx = 429; s.pc = 1; return s.tmp_0; - } else { - s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; - if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 429; s.pc = 1; return s.tmp_0; } - else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 429; s.pc = 1; return s.tmp_0;; } - else { s.callLocIdx = 429; s.pc = 1; return s.tmp_0; } - } + s.tmp_0 = Sprite_overlapsWith__P2419_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 488; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_registerObstacle_inline__P51306.info = {"start":25729,"length":36,"line":832,"column":29,"endLine":832,"endColumn":65,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} +o_inline__P16140.info = {"start":1037,"length":41,"line":32,"column":31,"endLine":32,"endColumn":72,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["neighbor"]} -function Sprite_registerObstacle_inline__P51306_mk(s) { +function o_inline__P16140_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_registerObstacle_inline__P51306, depth: s.depth + 1, + parent: s, fn: o_inline__P16140, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -34496,7 +33873,7 @@ function Sprite_registerObstacle_inline__P51306_mk(s) { -function Math_sign__P37595(s) { +function sprites_SpriteMap_neighbors__P2447(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34506,48 +33883,121 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.n___16391 = undefined; + s.layer___16393 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); 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: + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.n___16391 = (r0); + r0 = s.arg1.fields["layer"]; + s.layer___16393 = (r0); + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4740_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_left__P2398_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 475; s.pc = 2; return s.tmp_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; } + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_top__P2402_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 476; s.pc = 3; return s.tmp_2; case 3: - case 4: - r0 = -1; + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___16393; + s.tmp_0.arg4 = s.n___16391; + s.callLocIdx = 477; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4740_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_left__P2398_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 478; s.pc = 5; return s.tmp_1; case 5: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_bottom__P2404_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 479; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___16393; + s.tmp_0.arg4 = s.n___16391; + s.callLocIdx = 480; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4740_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_right__P2400_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 481; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_top__P2402_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 482; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___16393; + s.tmp_0.arg4 = s.n___16391; + s.callLocIdx = 483; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4740_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_right__P2400_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 484; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_bottom__P2404_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 485; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___16393; + s.tmp_0.arg4 = s.n___16391; + s.callLocIdx = 486; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + r0 = pxsim_Array_.removeElement(s.n___16391, s.arg1); + r0 = s.n___16391; return leave(s, r0) default: oops() } } } -Math_sign__P37595.info = {"start":16355,"length":125,"line":547,"column":4,"endLine":551,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sign","argumentNames":["x"]} +sprites_SpriteMap_neighbors__P2447.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 Math_sign__P37595_mk(s) { +function sprites_SpriteMap_neighbors__P2447_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_sign__P37595, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_neighbors__P2447, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, + tmp_2: undefined, + n___16391: undefined, + layer___16393: undefined, arg0: undefined, + arg1: undefined, } } -function helpers_arraySome__P37572(s) { +function sprites_SpriteMap_mergeAtKey__P4740(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34557,67 +34007,107 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.len___51314 = undefined; - s.i___51317 = undefined; + s.k___16442 = undefined; + s.bucket___16447 = undefined; + s.sprite___16454 = 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 = pxsim_Array__length(s.arg0); - s.len___51314 = (r0); - s.i___51317 = (0); - case 1: - r0 = (s.i___51317 < s.len___51314); - 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___51317); - s.tmp_2.arg0 = r0; - s.tmp_2.arg1 = s.i___51317; - setupLambda(s.tmp_2, s.tmp_2.argL); - s.callLocIdx = 5; s.pc = 6; return s.tmp_2; - case 6: + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_key__P4738_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 513; s.pc = 9; return s.tmp_0; + case 9: r0 = s.retval; + s.k___16442 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___16442); + s.bucket___16447 = (r0); + r0 = pxsim_numops_toBoolDecr(s.bucket___16447); + if (!r0) { step = 7; continue; } + s.sprite___16454 = (undefined); + s.unnamed72___U3 = (s.bucket___16447); + 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 = pxsim_numops_toBoolDecr(s.tmp_1); - if (!r0) { step = 2; continue; } - r0 = true; - { step = 5; continue; } + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed72___U3, s.unnamed73___U4); + s.sprite___16454 = (r0); + r0 = s.sprite___16454.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___16454, undefined); + s.tmp_4 = r0; + r0 = (s.tmp_4 < 0); case 3: - r0 = (s.i___51317 + 1); - s.i___51317 = (r0); - { step = 1; continue; } + // 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___16454); case 4: - r0 = false; 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() } } } -helpers_arraySome__P37572.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"]} +sprites_SpriteMap_mergeAtKey__P4740.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 helpers_arraySome__P37572_mk(s) { +function sprites_SpriteMap_mergeAtKey__P4740_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arraySome__P37572, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_mergeAtKey__P4740, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - len___51314: undefined, - i___51317: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + k___16442: undefined, + bucket___16447: undefined, + sprite___16454: undefined, + unnamed72___U3: undefined, + unnamed73___U4: undefined, arg0: undefined, arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, } } -function MovingSprite_constructor__P38854(s) { +function sprites_SpriteMap_key__P4738(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34627,52 +34117,71 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.xi___16475 = undefined; + s.yi___16487 = 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.arg7 = (s.lambdaArgs[7]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, MovingSprite__C38853_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; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_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 = 501; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.xi___16475 = (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 = 502; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.yi___16487 = (r0); + s.tmp_0 = r0 = s.xi___16475; + r0 = s.arg0.fields["columnCount"]; + s.tmp_2 = r0; + r0 = (s.yi___16487 * s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); return leave(s, r0) default: oops() } } } -MovingSprite_constructor__P38854.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"]} +sprites_SpriteMap_key__P4738.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 MovingSprite_constructor__P38854_mk(s) { +function sprites_SpriteMap_key__P4738_mk(s) { checkStack(s.depth); return { - parent: s, fn: MovingSprite_constructor__P38854, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_key__P4738, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + xi___16475: undefined, + yi___16487: undefined, arg0: undefined, arg1: undefined, arg2: undefined, - arg3: undefined, - arg4: undefined, - arg5: undefined, - arg6: undefined, - arg7: undefined, } } -function ArcadePhysicsEngine_move__P38867(s) { +function Sprite_overlapsWith__P2419(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -34682,546 +34191,676 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.dtMs___51393 = undefined; - s.dt2___51399 = undefined; - s.scene___51403 = undefined; - s.tileMap___51406 = undefined; - s.movingSprites___51409 = undefined; - s.MAX_STEP_COUNT___51441 = undefined; - s.overlapHandlers___51453 = undefined; - s.selected___51460 = undefined; - s.buffers___51461 = undefined; - s.count___51465 = undefined; - s.currMovers___51475 = undefined; - s.remainingMovers___51482 = undefined; - s.ms___51487 = undefined; - s.unnamed258___U13 = undefined; - s.unnamed259___U14 = undefined; - s.s___51489 = undefined; - s.stepX___51582 = undefined; - s.stepY___51596 = undefined; - s.bounce___51659 = undefined; + s.A___16204 = undefined; + s.B___16205 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - s.tmp_0 = Math_min__P37597_mk(s); - s.tmp_0.arg0 = 100; - r0 = (s.arg1 * 1000); - s.tmp_0.arg1 = r0; - s.callLocIdx = 539; s.pc = 53; return s.tmp_0; - case 53: - r0 = s.retval; - s.dtMs___51393 = (r0); - r0 = pxsim.Math_.idiv(s.dtMs___51393, 2); - s.dt2___51399 = (r0); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 540; s.pc = 54; return s.tmp_0; - case 54: - r0 = s.retval; - s.scene___51403 = (r0); - r0 = s.scene___51403.fields["tileMap"]; - s.tileMap___51406 = (r0); - r0 = pxsim_pxtcore_mkAction(3, movingSprites_inline__P51411); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtMs___51393); - r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___51399); - s.tmp_1 = helpers_arrayMap__P37571_mk(s); - r0 = s.arg0.fields["sprites"]; - s.tmp_1.arg0 = r0; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 542; s.pc = 55; return s.tmp_1; - case 55: - r0 = s.retval; - s.movingSprites___51409 = (r0); - s.tmp_0 = helpers_arrayForEach__P37574_mk(s); - r0 = s.arg0.fields["sprites"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = ArcadePhysicsEngine_move_inline__P51424; - s.callLocIdx = 546; s.pc = 56; return s.tmp_0; - case 56: - r0 = s.retval; - s.tmp_0 = sprites_SpriteMap_clear__P38756_mk(s); - r0 = s.arg0.fields["map"]; - s.tmp_0.arg0 = r0; - s.callLocIdx = 547; s.pc = 57; return s.tmp_0; - case 57: - r0 = s.retval; - s.tmp_0 = sprites_SpriteMap_resizeBuckets__P38755_mk(s); - r0 = s.arg0.fields["map"]; - s.tmp_0.arg0 = r0; - r0 = s.arg0.fields["sprites"]; - s.tmp_0.arg1 = r0; - s.callLocIdx = 548; s.pc = 58; return s.tmp_0; - case 58: - r0 = s.retval; - r0 = s.arg0.fields["maxVelocity"]; - s.tmp_3 = r0; - r0 = s.arg0.fields["minSingleStep"]; - s.tmp_4 = r0; - r0 = (s.tmp_3 << 8); - s.tmp_5 = r0; - r0 = pxsim.Math_.idiv(s.tmp_5, s.tmp_4); - s.tmp_2 = r0; - r0 = pxsim.Math_.imul(s.tmp_2, s.dtMs___51393); - 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___51441 = (r0); - s.tmp_0 = helpers_arraySlice__P37580_mk(s); - r0 = s.scene___51403.fields["overlapHandlers"]; - s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = undefined; - s.tmp_0.arg2 = undefined; - s.callLocIdx = 553; s.pc = 59; return s.tmp_0; - case 59: - r0 = s.retval; - s.overlapHandlers___51453 = (r0); - s.selected___51460 = (0); - r0 = pxsim_Array__mk(); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = (s.arg1 == s.arg0); s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___51409); - r0 = pxsim_Array__mk(); - s.tmp_1 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); - s.buffers___51461 = (s.tmp_0); - s.count___51465 = (0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = false; + { step = 23; continue; } case 1: - r0 = (s.count___51465 < s.MAX_STEP_COUNT___51441); - 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___51461, s.selected___51460); + r0 = s.arg0.fields["flags"]; s.tmp_2 = r0; - r0 = pxsim_Array__length(s.tmp_2); + r0 = (s.tmp_2 & 4610); s.tmp_1 = r0; - r0 = (s.tmp_1 !== 0); + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = false; + { step = 23; continue; } case 3: - // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); - if (!r0) { step = 52; continue; } - r0 = pxsim_Array__getAt(s.buffers___51461, s.selected___51460); - s.currMovers___51475 = (r0); - r0 = (s.selected___51460 ^ 1); - s.selected___51460 = (r0); - r0 = pxsim_Array__getAt(s.buffers___51461, s.selected___51460); - s.remainingMovers___51482 = (r0); - s.ms___51487 = (undefined); - s.unnamed258___U13 = (s.currMovers___51475); - s.unnamed259___U14 = (0); case 4: - s.tmp_0 = r0 = s.unnamed259___U14; - r0 = pxsim_Array__length(s.unnamed258___U13); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 49; continue; } - r0 = pxsim_Array__getAt(s.unnamed258___U13, s.unnamed259___U14); - s.ms___51487 = (r0); - r0 = s.ms___51487.fields["sprite"]; - s.s___51489 = (r0); - r0 = s.ms___51487.fields["cachedVx"]; - s.tmp_1 = r0; - r0 = s.s___51489.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___51489.fields["_vx"]; + r0 = s.arg1.fields["flags"]; s.tmp_4 = r0; - r0 = (s.tmp_4 == 0); + r0 = (s.tmp_4 & 4610); s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 5; continue; } - r0 = (s.ms___51487).fields["dx"] = (0); - { step = 14; continue; } + r0 = false; + { step = 23; continue; } case 5: - r0 = s.s___51489.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___51487.fields["cachedVx"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 > 0); + s.tmp_8 = game_Hitbox_overlapsWith__P2223_mk(s); + r0 = s.arg1.fields["_hitbox"]; + s.tmp_8.arg0 = r0; + r0 = s.arg0.fields["_hitbox"]; + s.tmp_8.arg1 = r0; + s.callLocIdx = 384; 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: - // 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___51489.fields["_vx"]; - s.tmp_5 = r0; - r0 = (s.tmp_5 > 0); - s.tmp_4 = r0; - r0 = pxsim_numops_toBool(s.tmp_4); + s.tmp_12 = Sprite_isScaled__P4731_mk(s); + s.tmp_12.arg0 = s.arg0; + s.callLocIdx = 385; 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_4; + r0 = s.tmp_9; { step = 10; continue; } case 9: - r0 = s.ms___51487.fields["cachedVx"]; - s.tmp_6 = r0; - r0 = (s.tmp_6 < 0); + s.tmp_15 = Sprite_isScaled__P4731_mk(s); + s.tmp_15.arg0 = s.arg1; + s.callLocIdx = 386; 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_7 = r0; - r0 = s.tmp_7; + 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__P2398_mk(s); + s.tmp_21.arg0 = s.arg0; + s.callLocIdx = 387; s.pc = 27; return s.tmp_21; + case 27: + r0 = s.retval; + s.tmp_20 = r0; + s.tmp_23 = Sprite_left__P2398_mk(s); + s.tmp_23.arg0 = s.arg1; + s.callLocIdx = 388; 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__P2402_mk(s); + s.tmp_26.arg0 = s.arg0; + s.callLocIdx = 389; s.pc = 29; return s.tmp_26; + case 29: + r0 = s.retval; + s.tmp_25 = r0; + s.tmp_28 = Sprite_top__P2402_mk(s); + s.tmp_28.arg0 = s.arg1; + s.callLocIdx = 390; 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: - // jmp value (already in r0) - s.tmp_8 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_8); + s.tmp_31 = Sprite_sx__P2369_mk(s); + s.tmp_31.arg0 = s.arg0; + s.callLocIdx = 391; 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; } - s.tmp_9 = r0 = s.ms___51487; - r0 = s.ms___51487.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___51487; - r0 = s.ms___51487.fields["xStep"]; - s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1); + r0 = s.tmp_29; + { step = 13; continue; } case 12: + s.tmp_33 = Sprite_sy__P2371_mk(s); + s.tmp_33.arg0 = s.arg0; + s.callLocIdx = 392; 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: - r0 = s.s___51489.fields["_vx"]; - s.tmp_0 = r0; - r0 = (s.ms___51487).fields["cachedVx"] = (s.tmp_0); + s.tmp_36 = Sprite_sx__P2369_mk(s); + s.tmp_36.arg0 = s.arg1; + s.callLocIdx = 393; 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: - r0 = s.ms___51487.fields["cachedVy"]; - s.tmp_1 = r0; - r0 = s.s___51489.fields["_vy"]; + s.tmp_39 = Sprite_sy__P2371_mk(s); + s.tmp_39.arg0 = s.arg1; + s.callLocIdx = 394; 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__P2369_mk(s); + s.tmp_44.arg0 = s.arg0; + s.callLocIdx = 395; s.pc = 35; return s.tmp_44; + case 35: + r0 = s.retval; + s.tmp_43 = r0; + s.tmp_46 = Sprite_sy__P2371_mk(s); + s.tmp_46.arg0 = s.arg0; + s.callLocIdx = 396; 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__P2369_mk(s); + s.tmp_49.arg0 = s.arg1; + s.callLocIdx = 397; s.pc = 37; return s.tmp_49; + case 37: + r0 = s.retval; + s.tmp_48 = r0; + s.tmp_51 = Sprite_sy__P2371_mk(s); + s.tmp_51.arg0 = s.arg1; + s.callLocIdx = 398; 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___16204 = (s.arg0); + s.B___16205 = (s.arg1); + { step = 21; continue; } + case 20: + s.A___16204 = (s.arg1); + s.B___16205 = (s.arg0); + case 21: + s.tmp_0 = helpers_imageBlit__P1953_mk(s); + r0 = s.A___16204.fields["_image"]; + s.tmp_0.arg0 = r0; + s.tmp_3 = Sprite_left__P2398_mk(s); + s.tmp_3.arg0 = s.B___16205; + s.callLocIdx = 400; s.pc = 40; return s.tmp_3; + case 40: + 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 = 27; continue; } - r0 = s.s___51489.fields["_vy"]; + s.tmp_5 = Sprite_left__P2398_mk(s); + s.tmp_5.arg0 = s.A___16204; + s.callLocIdx = 401; s.pc = 41; return s.tmp_5; + case 41: + r0 = s.retval; 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___51487).fields["dy"] = (0); - { step = 26; continue; } - case 17: - r0 = s.s___51489.fields["_vy"]; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1 = r0; + s.tmp_7 = Sprite_sx__P2369_mk(s); + s.tmp_7.arg0 = s.A___16204; + s.callLocIdx = 402; 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__P2402_mk(s); + s.tmp_10.arg0 = s.B___16205; + s.callLocIdx = 403; s.pc = 43; return s.tmp_10; + case 43: + r0 = s.retval; + s.tmp_9 = r0; + s.tmp_12 = Sprite_top__P2402_mk(s); + s.tmp_12.arg0 = s.A___16204; + s.callLocIdx = 404; 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__P2371_mk(s); + s.tmp_14.arg0 = s.A___16204; + s.callLocIdx = 405; 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__P2396_mk(s); + s.tmp_16.arg0 = s.B___16205; + s.callLocIdx = 406; s.pc = 46; return s.tmp_16; + case 46: + r0 = s.retval; + s.tmp_15 = r0; + s.tmp_18 = Sprite_sx__P2369_mk(s); + s.tmp_18.arg0 = s.A___16204; + s.callLocIdx = 407; 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__P2397_mk(s); + s.tmp_20.arg0 = s.B___16205; + s.callLocIdx = 408; s.pc = 48; return s.tmp_20; + case 48: + r0 = s.retval; + s.tmp_19 = r0; + s.tmp_22 = Sprite_sy__P2371_mk(s); + s.tmp_22.arg0 = s.A___16204; + s.callLocIdx = 409; 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___16205.fields["_image"]; + s.tmp_0.arg5 = r0; + s.tmp_0.arg6 = 0; + s.tmp_0.arg7 = 0; + r0 = s.B___16205.fields["_image"]; + s.tmp_23 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_23); + s.tmp_0.arg8 = r0; + r0 = s.B___16205.fields["_image"]; + s.tmp_24 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_24); + s.tmp_0.arg9 = r0; + s.tmp_0.arg10 = true; + s.tmp_0.arg11 = true; + s.callLocIdx = 413; s.pc = 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__P2419.info = {"start":20623,"length":1575,"line":689,"column":4,"endLine":736,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"overlapsWith","argumentNames":["this","other"]} + +function Sprite_overlapsWith__P2419_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_overlapsWith__P2419, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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___16204: undefined, + B___16205: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_isScaled__P4731(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_sx"]; s.tmp_1 = r0; - r0 = (s.tmp_1 < 0); + r0 = (s.tmp_1 !== 256); s.tmp_0 = r0; r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 18; continue; } + if (!r0) { step = 1; continue; } r0 = s.tmp_0; - { step = 19; continue; } - case 18: - r0 = s.ms___51487.fields["cachedVy"]; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_sy"]; s.tmp_2 = r0; - r0 = (s.tmp_2 > 0); - case 19: + r0 = (s.tmp_2 !== 256); + case 2: // 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___51489.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; } + return leave(s, r0) + default: oops() +} } } +Sprite_isScaled__P4731.info = {"start":10166,"length":100,"line":369,"column":4,"endLine":371,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isScaled","argumentNames":["this"]} + +function Sprite_isScaled__P4731_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isScaled__P4731, depth: s.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__P2223(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C2208_VT)) failedCast(r0); + s.tmp_0 = game_Hitbox_updateIfInvalid__P2222_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 250; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.tmp_0 = game_Hitbox_updateIfInvalid__P2222_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 251; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + s.tmp_1 = game_Hitbox_contains__P2221_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = game_Hitbox_left__P2216_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 252; s.pc = 21; return s.tmp_2; case 21: - r0 = s.ms___51487.fields["cachedVy"]; - s.tmp_6 = r0; - r0 = (s.tmp_6 < 0); + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.tmp_3 = game_Hitbox_top__P2217_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 253; s.pc = 22; return s.tmp_3; 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___51487; - r0 = s.ms___51487.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___51487; - r0 = s.ms___51487.fields["yStep"]; - s.tmp_2 = r0; - r0 = (0 - s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1); + r0 = s.retval; + s.tmp_1.arg2 = r0; + s.callLocIdx = 254; s.pc = 20; return s.tmp_1; + case 20: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = true; + { step = 17; continue; } + case 1: + case 2: + s.tmp_5 = game_Hitbox_contains__P2221_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_6 = game_Hitbox_left__P2216_mk(s); + s.tmp_6.arg0 = s.arg1; + s.callLocIdx = 255; s.pc = 24; return s.tmp_6; case 24: + r0 = s.retval; + s.tmp_5.arg1 = r0; + s.tmp_7 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_7.arg0 = s.arg1; + s.callLocIdx = 256; s.pc = 25; return s.tmp_7; case 25: - case 26: - r0 = s.s___51489.fields["_vy"]; - s.tmp_0 = r0; - r0 = (s.ms___51487).fields["cachedVy"] = (s.tmp_0); + r0 = s.retval; + s.tmp_5.arg2 = r0; + s.callLocIdx = 257; s.pc = 23; return s.tmp_5; + case 23: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + r0 = true; + { step = 17; continue; } + case 3: + case 4: + s.tmp_9 = game_Hitbox_contains__P2221_mk(s); + s.tmp_9.arg0 = s.arg0; + s.tmp_10 = game_Hitbox_right__P2218_mk(s); + s.tmp_10.arg0 = s.arg1; + s.callLocIdx = 258; s.pc = 27; return s.tmp_10; case 27: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.tmp_11 = game_Hitbox_top__P2217_mk(s); + s.tmp_11.arg0 = s.arg1; + s.callLocIdx = 259; s.pc = 28; return s.tmp_11; case 28: - s.tmp_2 = Fx_abs__P37640_mk(s); - r0 = s.ms___51487.fields["xStep"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 558; s.pc = 60; return s.tmp_2; - case 60: r0 = s.retval; - s.tmp_1 = r0; - s.tmp_4 = Fx_abs__P37640_mk(s); - r0 = s.ms___51487.fields["dx"]; - s.tmp_4.arg0 = r0; - s.callLocIdx = 559; s.pc = 61; return s.tmp_4; - case 61: + s.tmp_9.arg2 = r0; + s.callLocIdx = 260; s.pc = 26; return s.tmp_9; + case 26: 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___51487.fields["dx"]; - { step = 30; continue; } - case 29: - r0 = s.ms___51487.fields["xStep"]; + 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__P2221_mk(s); + s.tmp_13.arg0 = s.arg0; + s.tmp_14 = game_Hitbox_right__P2218_mk(s); + s.tmp_14.arg0 = s.arg1; + s.callLocIdx = 261; s.pc = 30; return s.tmp_14; case 30: - // jmp value (already in r0) - s.tmp_5 = r0; - s.stepX___51582 = (s.tmp_5); - s.tmp_2 = Fx_abs__P37640_mk(s); - r0 = s.ms___51487.fields["yStep"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 560; s.pc = 62; return s.tmp_2; - case 62: - r0 = s.retval; - s.tmp_1 = r0; - s.tmp_4 = Fx_abs__P37640_mk(s); - r0 = s.ms___51487.fields["dy"]; - s.tmp_4.arg0 = r0; - s.callLocIdx = 561; s.pc = 63; return s.tmp_4; - case 63: r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_1 > s.tmp_3); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 31; continue; } - r0 = s.ms___51487.fields["dy"]; - { step = 32; continue; } + s.tmp_13.arg1 = r0; + s.tmp_15 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_15.arg0 = s.arg1; + s.callLocIdx = 262; s.pc = 31; return s.tmp_15; case 31: - r0 = s.ms___51487.fields["yStep"]; - case 32: - // jmp value (already in r0) - s.tmp_5 = r0; - s.stepY___51596 = (s.tmp_5); - s.tmp_0 = r0 = s.ms___51487; - r0 = s.ms___51487.fields["dx"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 - s.stepX___51582); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); - s.tmp_0 = r0 = s.ms___51487; - r0 = s.ms___51487.fields["dy"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 - s.stepY___51596); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); - r0 = s.s___51489.fields["_x"]; - s.tmp_0 = r0; - r0 = (s.s___51489).fields["_lastX"] = (s.tmp_0); - r0 = s.s___51489.fields["_y"]; - s.tmp_0 = r0; - r0 = (s.s___51489).fields["_lastY"] = (s.tmp_0); - s.tmp_0 = r0 = s.s___51489; - r0 = s.s___51489.fields["_x"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + s.stepX___51582); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); - s.tmp_0 = r0 = s.s___51489; - r0 = s.s___51489.fields["_y"]; - s.tmp_2 = r0; - r0 = (s.tmp_2 + s.stepY___51596); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); - r0 = s.s___51489.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__P38759_mk(s); - r0 = s.arg0.fields["map"]; - s.tmp_4.arg0 = r0; - s.tmp_4.arg1 = s.s___51489; - s.callLocIdx = 566; s.pc = 64; return s.tmp_4; - case 64: r0 = s.retval; + s.tmp_13.arg2 = r0; + s.callLocIdx = 263; s.pc = 29; return s.tmp_13; + case 29: + r0 = s.retval; + s.tmp_12 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_12); + if (!r0) { step = 7; continue; } + r0 = true; + { step = 17; continue; } + case 7: + case 8: + s.tmp_17 = game_Hitbox_contains__P2221_mk(s); + s.tmp_17.arg0 = s.arg1; + s.tmp_18 = game_Hitbox_left__P2216_mk(s); + s.tmp_18.arg0 = s.arg0; + s.callLocIdx = 264; s.pc = 33; return s.tmp_18; case 33: + r0 = s.retval; + s.tmp_17.arg1 = r0; + s.tmp_19 = game_Hitbox_top__P2217_mk(s); + s.tmp_19.arg0 = s.arg0; + s.callLocIdx = 265; s.pc = 34; return s.tmp_19; case 34: - s.tmp_0 = r0 = s.tileMap___51406; - r0 = pxsim_numops_toBool(s.tmp_0); - if (r0) { step = 35; continue; } - r0 = s.tmp_0; - { step = 36; continue; } - case 35: - r0 = s.tileMap___51406.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); + r0 = s.retval; + s.tmp_17.arg2 = r0; + s.callLocIdx = 266; s.pc = 32; return s.tmp_17; + case 32: + r0 = s.retval; + s.tmp_16 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_16); + if (!r0) { step = 9; continue; } + r0 = true; + { step = 17; continue; } + case 9: + case 10: + s.tmp_21 = game_Hitbox_contains__P2221_mk(s); + s.tmp_21.arg0 = s.arg1; + s.tmp_22 = game_Hitbox_left__P2216_mk(s); + s.tmp_22.arg0 = s.arg0; + s.callLocIdx = 267; s.pc = 36; return s.tmp_22; 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__P38871_mk(s); - s.tmp_6.arg0 = s.arg0; - s.tmp_6.arg1 = s.ms___51487; - s.tmp_6.arg2 = s.tileMap___51406; - s.callLocIdx = 568; s.pc = 65; return s.tmp_6; - case 65: r0 = s.retval; + s.tmp_21.arg1 = r0; + s.tmp_23 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_23.arg0 = s.arg0; + s.callLocIdx = 268; s.pc = 37; return s.tmp_23; case 37: - case 38: - r0 = s.s___51489.fields["flags"]; - s.tmp_0 = r0; - r0 = (s.tmp_0 & 32); - s.bounce___51659 = (r0); - r0 = s.s___51489.fields["flags"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 & 8); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 39; continue; } - r0 = s.tmp_0; - { step = 42; continue; } + r0 = s.retval; + s.tmp_21.arg2 = r0; + s.callLocIdx = 269; s.pc = 35; return s.tmp_21; + case 35: + r0 = s.retval; + s.tmp_20 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_20); + if (!r0) { step = 11; continue; } + r0 = true; + { step = 17; continue; } + case 11: + case 12: + s.tmp_25 = game_Hitbox_contains__P2221_mk(s); + s.tmp_25.arg0 = s.arg1; + s.tmp_26 = game_Hitbox_right__P2218_mk(s); + s.tmp_26.arg0 = s.arg0; + s.callLocIdx = 270; s.pc = 39; return s.tmp_26; case 39: - s.tmp_2 = r0 = s.bounce___51659; - r0 = pxsim_numops_toBool(s.tmp_2); - if (r0) { step = 40; continue; } - r0 = s.tmp_2; - { step = 41; continue; } + r0 = s.retval; + s.tmp_25.arg1 = r0; + s.tmp_27 = game_Hitbox_top__P2217_mk(s); + s.tmp_27.arg0 = s.arg0; + s.callLocIdx = 271; s.pc = 40; return s.tmp_27; case 40: - r0 = pxsim_numops_toBoolDecr(s.tileMap___51406); - s.tmp_3 = r0; - r0 = pxsim_Boolean__bang(s.tmp_3); - case 41: - // jmp value (already in r0) - s.tmp_4 = r0; - r0 = s.tmp_4; + r0 = s.retval; + s.tmp_25.arg2 = r0; + s.callLocIdx = 272; s.pc = 38; return s.tmp_25; + case 38: + r0 = s.retval; + s.tmp_24 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_24); + if (!r0) { step = 13; continue; } + r0 = true; + { step = 17; continue; } + case 13: + case 14: + s.tmp_29 = game_Hitbox_contains__P2221_mk(s); + s.tmp_29.arg0 = s.arg1; + s.tmp_30 = game_Hitbox_right__P2218_mk(s); + s.tmp_30.arg0 = s.arg0; + s.callLocIdx = 273; s.pc = 42; return s.tmp_30; case 42: - // jmp value (already in r0) - s.tmp_5 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_5); - if (!r0) { step = 43; continue; } - s.tmp_6 = ArcadePhysicsEngine_screenEdgeCollisions__P38870_mk(s); - s.tmp_6.arg0 = s.arg0; - s.tmp_6.arg1 = s.ms___51487; - s.tmp_6.arg2 = s.bounce___51659; - r0 = s.scene___51403.fields["camera"]; - s.tmp_6.arg3 = r0; - s.callLocIdx = 569; s.pc = 66; return s.tmp_6; - case 66: r0 = s.retval; + s.tmp_29.arg1 = r0; + s.tmp_31 = game_Hitbox_bottom__P2219_mk(s); + s.tmp_31.arg0 = s.arg0; + s.callLocIdx = 274; s.pc = 43; return s.tmp_31; case 43: - case 44: - s.tmp_2 = Fx_abs__P37640_mk(s); - r0 = s.ms___51487.fields["dx"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 570; s.pc = 67; return s.tmp_2; - case 67: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___38817); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 45; continue; } - r0 = s.tmp_0; - { step = 46; continue; } - case 45: - s.tmp_4 = Fx_abs__P37640_mk(s); - r0 = s.ms___51487.fields["dy"]; - s.tmp_4.arg0 = r0; - s.callLocIdx = 571; s.pc = 68; return s.tmp_4; - case 68: r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___38817); - case 46: - // jmp value (already in r0) - s.tmp_5 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_5); - if (!r0) { step = 47; continue; } - r0 = pxsim_Array__push(s.remainingMovers___51482, s.ms___51487); - case 47: - case 48: - r0 = (s.unnamed259___U14 + 1); - s.unnamed259___U14 = (r0); - { step = 4; continue; } - case 49: - s.unnamed258___U13 = (undefined); - s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P38869_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.currMovers___51475; - s.tmp_0.arg2 = s.overlapHandlers___51453; - s.callLocIdx = 572; s.pc = 69; return s.tmp_0; - case 69: + s.tmp_29.arg2 = r0; + s.callLocIdx = 275; s.pc = 41; return s.tmp_29; + case 41: r0 = s.retval; - case 50: - r0 = pxsim_Array__length(s.currMovers___51475); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 51; continue; } - r0 = pxsim_Array_.pop(s.currMovers___51475); - { step = 50; continue; } - case 51: - r0 = (s.count___51465 + 1); - s.count___51465 = (r0); - { step = 1; continue; } - case 52: - r0 = undefined; + 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() } } } -ArcadePhysicsEngine_move__P38867.info = {"start":2822,"length":4105,"line":112,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]} +game_Hitbox_overlapsWith__P2223.info = {"start":2515,"length":695,"line":87,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"overlapsWith","argumentNames":["this","other"]} -function ArcadePhysicsEngine_move__P38867_mk(s) { +function game_Hitbox_overlapsWith__P2223_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_move__P38867, depth: s.depth + 1, + parent: s, fn: game_Hitbox_overlapsWith__P2223, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -35235,25 +34874,26 @@ function ArcadePhysicsEngine_move__P38867_mk(s) { tmp_9: undefined, tmp_10: undefined, tmp_11: undefined, - dtMs___51393: undefined, - dt2___51399: undefined, - scene___51403: undefined, - tileMap___51406: undefined, - movingSprites___51409: undefined, - MAX_STEP_COUNT___51441: undefined, - overlapHandlers___51453: undefined, - selected___51460: undefined, - buffers___51461: undefined, - count___51465: undefined, - currMovers___51475: undefined, - remainingMovers___51482: undefined, - ms___51487: undefined, - unnamed258___U13: undefined, - unnamed259___U14: undefined, - s___51489: undefined, - stepX___51582: undefined, - stepY___51596: undefined, - bounce___51659: 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, } } @@ -35262,7 +34902,7 @@ function ArcadePhysicsEngine_move__P38867_mk(s) { -function movingSprites_inline__P51411(s) { +function game_Hitbox_contains__P2221(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -35274,35 +34914,106 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); s.lambdaArgs = null; } - s.tmp_0 = ArcadePhysicsEngine_createMovingSprite__P38868_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = s.arg0; - s.tmp_0.arg2 = s.caps[1]; - s.tmp_0.arg3 = s.caps[2]; - s.callLocIdx = 541; s.pc = 1; return s.tmp_0; + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C2208_VT)) failedCast(r0); + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = game_Hitbox_left__P2216_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 230; 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__P2218_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 231; 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__P2217_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 232; 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__P2219_mk(s); + s.tmp_14.arg0 = s.arg0; + s.callLocIdx = 233; 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() } } } -movingSprites_inline__P51411.info = {"start":3181,"length":52,"line":121,"column":17,"endLine":121,"endColumn":69,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["sprite"]} +game_Hitbox_contains__P2221.info = {"start":1034,"length":144,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"contains","argumentNames":["this","x","y"]} -function movingSprites_inline__P51411_mk(s) { +function game_Hitbox_contains__P2221_mk(s) { checkStack(s.depth); return { - parent: s, fn: movingSprites_inline__P51411, depth: s.depth + 1, + parent: s, fn: game_Hitbox_contains__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, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function ArcadePhysicsEngine_move_inline__P51424(s) { +function helpers_imageBlit__P1953(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -35314,60 +35025,114 @@ switch (step) { 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_1 = Sprite_vx__P38668_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 543; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - s.tmp_0 = r0; + s.tmp_0 = r0 = globals._blitArgs___4560; 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__P38670_mk(s); - s.tmp_2.arg0 = s.arg0; - s.callLocIdx = 544; s.pc = 6; return s.tmp_2; - case 6: - r0 = s.retval; + r0 = pxsim_Array__mk(); case 2: // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_1 = r0; + globals._blitArgs___4560 = (s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___4560; + 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___4560; + 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___4560; + 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___4560; + 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___4560; + 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___4560; + 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___4560; + 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___4560; + 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; } - s.tmp_4 = Sprite_clearObstacles__P38726_mk(s); - s.tmp_4.arg0 = s.arg0; - s.callLocIdx = 545; s.pc = 7; return s.tmp_4; - case 7: - r0 = s.retval; + r0 = 1; + { step = 4; continue; } case 3: + r0 = 0; case 4: - r0 = undefined; + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(globals._blitArgs___4560, 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___4560, 9, s.tmp_0); + r0 = pxsim_ImageMethods._blit(s.arg0, s.arg5, globals._blitArgs___4560); return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_move_inline__P51424.info = {"start":3316,"length":66,"line":124,"column":29,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["s"]} +helpers_imageBlit__P1953.info = {"start":4459,"length":642,"line":154,"column":4,"endLine":167,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageBlit","argumentNames":["img","xDst","yDst","wDst","hDst","src","xSrc","ySrc","wSrc","hSrc","transparent","check"]} -function ArcadePhysicsEngine_move_inline__P51424_mk(s) { +function helpers_imageBlit__P1953_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_move_inline__P51424, depth: s.depth + 1, + parent: s, fn: helpers_imageBlit__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, - tmp_4: 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_screenEdgeCollisions__P38870(s) { +function ArcadePhysicsEngine_createMovingSprite__P4775(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -35377,8 +35142,16 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.s___52230 = undefined; - s.offset___52245 = undefined; + s.ovx___16830 = undefined; + s.ovy___16835 = undefined; + s.fx___16862 = undefined; + s.c___16869 = undefined; + s.fy___16912 = undefined; + s.c___16919 = undefined; + s.dx___16958 = undefined; + s.dy___16971 = undefined; + s.xStep___16984 = undefined; + s.yStep___16986 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); @@ -35387,365 +35160,317 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - r0 = s.arg1.fields["sprite"]; - s.s___52230 = (r0); - r0 = s.s___52230.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); + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + s.tmp_0 = ArcadePhysicsEngine_constrain__P4781_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = s.arg1.fields["_vx"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 573; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.ovx___16830 = (r0); + s.tmp_0 = ArcadePhysicsEngine_constrain__P4781_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = s.arg1.fields["_vy"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 574; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + s.ovy___16835 = (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_4 = Sprite__C38662_v4_1_mk(s); - s.tmp_4.arg0 = s.s___52230; - if (!checkSubtype(s.tmp_4.arg0, Sprite__C38662_VT)) failedCast(s.tmp_4.arg0); - s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; - s.pc = 21; return s.tmp_4; - case 21: - r0 = s.retval; - case 1: - case 2: - s.tmp_3 = scene_Camera_isUpdated__P39149_mk(s); - s.tmp_3.arg0 = s.arg3; - s.callLocIdx = 617; s.pc = 22; return s.tmp_3; - case 22: - r0 = s.retval; + s.tmp_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 = pxsim_numops_toBoolDecr(s.tmp_2); - s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + 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 = 3; continue; } - s.tmp_4 = scene_Camera_update__P39150_mk(s); - s.tmp_4.arg0 = s.arg3; - s.callLocIdx = 618; s.pc = 23; return s.tmp_4; - case 23: - r0 = s.retval; - case 3: - case 4: - s.tmp_2 = game_Hitbox_left__P38597_mk(s); - r0 = s.s___52230.fields["_hitbox"]; - s.tmp_2.arg0 = r0; - s.callLocIdx = 619; s.pc = 24; return s.tmp_2; - case 24: - r0 = s.retval; + 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 = (s.tmp_1 / 256); + r0 = pxsim.Math_.idiv(s.tmp_1, 1000); + s.fx___16862 = (r0); + r0 = s.arg1.fields["_vx"]; s.tmp_0 = r0; - r0 = s.arg3.fields["_offsetX"]; - s.tmp_3 = r0; - r0 = (s.tmp_0 - s.tmp_3); - s.offset___52245 = (r0); - r0 = (s.offset___52245 < 0); + r0 = (s.tmp_0 - s.fx___16862); + s.c___16869 = (r0); + r0 = (s.c___16869 < 0); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 7; continue; } - s.tmp_1 = Sprite_left__P38701_mk(s); - s.tmp_2 = r0 = s.s___52230; - s.tmp_1.arg0 = r0; - s.tmp_4 = Sprite_left__P38700_mk(s); - s.tmp_4.arg0 = s.tmp_2; - s.callLocIdx = 622; s.pc = 26; return s.tmp_4; - case 26: - r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_3 - s.offset___52245); - s.tmp_1.arg1 = r0; - s.callLocIdx = 623; s.pc = 25; return s.tmp_1; - case 25: + 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___16862); + s.tmp_3.arg1 = r0; + s.callLocIdx = 582; s.pc = 27; return s.tmp_3; + case 27: r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 5; continue; } - s.tmp_0 = Sprite_vx__P38669_mk(s); - s.tmp_0.arg0 = s.s___52230; - s.tmp_2 = Sprite_vx__P38668_mk(s); - s.tmp_2.arg0 = s.s___52230; - s.callLocIdx = 624; s.pc = 28; return s.tmp_2; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vx"] = (s.tmp_2); + { step = 5; continue; } + case 2: + r0 = (s.c___16869 > 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___16862); + s.tmp_3.arg1 = r0; + s.callLocIdx = 584; s.pc = 28; return s.tmp_3; case 28: r0 = s.retval; - s.tmp_1 = r0; - r0 = (0 - s.tmp_1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 625; s.pc = 27; return s.tmp_0; - case 27: - r0 = s.retval; + 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: - { step = 12; continue; } case 7: - s.tmp_4 = game_Hitbox_right__P38599_mk(s); - r0 = s.s___52230.fields["_hitbox"]; - s.tmp_4.arg0 = r0; - s.callLocIdx = 626; s.pc = 29; return s.tmp_4; - case 29: - r0 = s.retval; + 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.tmp_3 / 256); - s.tmp_2 = r0; - r0 = s.arg3.fields["_offsetX"]; + r0 = s.arg1.fields["_ay"]; + s.tmp_6 = r0; + r0 = pxsim.Math_.imul(s.tmp_6, s.arg2); s.tmp_5 = r0; - r0 = (s.tmp_2 - s.tmp_5); + 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_ImageMethods.width(globals.screen___38324); - s.tmp_6 = r0; - r0 = (s.tmp_1 - s.tmp_6); + r0 = pxsim.Math_.idiv(s.tmp_1, 1000); + s.fy___16912 = (r0); + r0 = s.arg1.fields["_vy"]; s.tmp_0 = r0; - s.offset___52245 = (r0); - r0 = (s.tmp_0 > 0); - s.tmp_7 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_7); + r0 = (s.tmp_0 - s.fy___16912); + s.c___16919 = (r0); + r0 = (s.c___16919 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 10; continue; } - s.tmp_8 = Sprite_right__P38703_mk(s); - s.tmp_9 = r0 = s.s___52230; - s.tmp_8.arg0 = r0; - s.tmp_11 = Sprite_right__P38702_mk(s); - s.tmp_11.arg0 = s.tmp_9; - s.callLocIdx = 629; s.pc = 31; return s.tmp_11; - case 31: + 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___16912); + s.tmp_3.arg1 = r0; + s.callLocIdx = 592; s.pc = 29; return s.tmp_3; + case 29: r0 = s.retval; - s.tmp_10 = r0; - r0 = (s.tmp_10 - s.offset___52245); - s.tmp_8.arg1 = r0; - s.callLocIdx = 630; s.pc = 30; return s.tmp_8; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vy"] = (s.tmp_2); + { step = 13; continue; } + case 10: + r0 = (s.c___16919 > 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___16912); + s.tmp_3.arg1 = r0; + s.callLocIdx = 594; s.pc = 30; return s.tmp_3; case 30: r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 8; continue; } - s.tmp_0 = Sprite_vx__P38669_mk(s); - s.tmp_0.arg0 = s.s___52230; - s.tmp_2 = Sprite_vx__P38668_mk(s); - s.tmp_2.arg0 = s.s___52230; - s.callLocIdx = 631; s.pc = 33; return s.tmp_2; - case 33: + 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__P4781_mk(s); + s.tmp_2.arg0 = s.arg0; + r0 = s.arg1.fields["_vx"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 595; s.pc = 31; return s.tmp_2; + case 31: r0 = s.retval; s.tmp_1 = r0; - r0 = (0 - s.tmp_1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 632; s.pc = 32; return s.tmp_0; + r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + s.tmp_2 = ArcadePhysicsEngine_constrain__P4781_mk(s); + s.tmp_2.arg0 = s.arg0; + r0 = s.arg1.fields["_vy"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 596; s.pc = 32; return s.tmp_2; case 32: r0 = s.retval; - case 8: - case 9: - case 10: - case 11: - case 12: - s.tmp_3 = game_Hitbox_top__P38598_mk(s); - r0 = s.s___52230.fields["_hitbox"]; - s.tmp_3.arg0 = r0; - s.callLocIdx = 633; s.pc = 34; return s.tmp_3; - case 34: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_2 / 256); s.tmp_1 = r0; - r0 = s.arg3.fields["_offsetY"]; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + r0 = s.arg1.fields["_vx"]; s.tmp_4 = r0; - r0 = (s.tmp_1 - s.tmp_4); + r0 = (s.tmp_4 + s.ovx___16830); + 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; - s.offset___52245 = (r0); - r0 = (s.tmp_0 < 0); + r0 = (s.tmp_0 * 256); s.tmp_5 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_5); - if (!r0) { step = 15; continue; } - s.tmp_6 = Sprite_top__P38705_mk(s); - s.tmp_7 = r0 = s.s___52230; - s.tmp_6.arg0 = r0; - s.tmp_9 = Sprite_top__P38704_mk(s); - s.tmp_9.arg0 = s.tmp_7; - s.callLocIdx = 636; s.pc = 36; return s.tmp_9; - case 36: - r0 = s.retval; - s.tmp_8 = r0; - r0 = (s.tmp_8 - s.offset___52245); - s.tmp_6.arg1 = r0; - s.callLocIdx = 637; s.pc = 35; return s.tmp_6; - case 35: - r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 13; continue; } - s.tmp_0 = Sprite_vy__P38671_mk(s); - s.tmp_0.arg0 = s.s___52230; - s.tmp_2 = Sprite_vy__P38670_mk(s); - s.tmp_2.arg0 = s.s___52230; - s.callLocIdx = 638; s.pc = 38; return s.tmp_2; - case 38: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (0 - s.tmp_1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 639; s.pc = 37; return s.tmp_0; - case 37: - r0 = s.retval; - case 13: - case 14: - { step = 20; continue; } - case 15: - s.tmp_4 = game_Hitbox_bottom__P38600_mk(s); - r0 = s.s___52230.fields["_hitbox"]; - s.tmp_4.arg0 = r0; - s.callLocIdx = 640; s.pc = 39; return s.tmp_4; - case 39: - r0 = s.retval; + r0 = (s.tmp_5 | 0); + s.dx___16958 = (r0); + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.ovy___16835); s.tmp_3 = r0; r0 = (s.tmp_3 / 256); s.tmp_2 = r0; - r0 = s.arg3.fields["_offsetY"]; - s.tmp_5 = r0; - r0 = (s.tmp_2 - s.tmp_5); + r0 = (s.tmp_2 * s.arg3); s.tmp_1 = r0; - r0 = pxsim_ImageMethods.height(globals.screen___38324); - s.tmp_6 = r0; - r0 = (s.tmp_1 - s.tmp_6); + r0 = (s.tmp_1 / 1000); s.tmp_0 = r0; - s.offset___52245 = (r0); - r0 = (s.tmp_0 > 0); - s.tmp_7 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_7); - if (!r0) { step = 18; continue; } - s.tmp_8 = Sprite_bottom__P38707_mk(s); - s.tmp_9 = r0 = s.s___52230; - s.tmp_8.arg0 = r0; - s.tmp_11 = Sprite_bottom__P38706_mk(s); - s.tmp_11.arg0 = s.tmp_9; - s.callLocIdx = 643; s.pc = 41; return s.tmp_11; - case 41: - r0 = s.retval; - s.tmp_10 = r0; - r0 = (s.tmp_10 - s.offset___52245); - s.tmp_8.arg1 = r0; - s.callLocIdx = 644; s.pc = 40; return s.tmp_8; - case 40: - r0 = s.retval; - r0 = pxsim_numops_toBoolDecr(s.arg2); - if (!r0) { step = 16; continue; } - s.tmp_0 = Sprite_vy__P38671_mk(s); - s.tmp_0.arg0 = s.s___52230; - s.tmp_2 = Sprite_vy__P38670_mk(s); - s.tmp_2.arg0 = s.s___52230; - s.callLocIdx = 645; s.pc = 43; return s.tmp_2; - case 43: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (0 - s.tmp_1); - s.tmp_0.arg1 = r0; - s.callLocIdx = 646; s.pc = 42; return s.tmp_0; - case 42: - r0 = s.retval; - case 16: + r0 = (s.tmp_0 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.dy___16971 = (r0); + s.xStep___16984 = (s.dx___16958); + s.yStep___16986 = (s.dy___16971); case 17: - case 18: - case 19: - case 20: - r0 = undefined; - return leave(s, r0) - default: oops() -} } } -ArcadePhysicsEngine_screenEdgeCollisions__P38870.info = {"start":12018,"length":905,"line":355,"column":4,"endLine":377,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"screenEdgeCollisions","argumentNames":["this","movingSprite","bounce","camera"]} - -function ArcadePhysicsEngine_screenEdgeCollisions__P38870_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: ArcadePhysicsEngine_screenEdgeCollisions__P38870, depth: s.depth + 1, - pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - tmp_4: undefined, - tmp_5: undefined, - tmp_6: undefined, - tmp_7: undefined, - tmp_8: undefined, - tmp_9: undefined, - tmp_10: undefined, - tmp_11: undefined, - s___52230: undefined, - offset___52245: undefined, - arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, -} } - - - - - -function scene_Camera_isUpdated__P39149(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C39137_VT)) failedCast(r0); - r0 = s.arg0.fields["sprite"]; - s.tmp_2 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_2 = Fx_abs__P165_mk(s); + s.tmp_2.arg0 = s.xStep___16984; + s.callLocIdx = 603; s.pc = 33; return s.tmp_2; + case 33: + r0 = s.retval; s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + 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 = 1; continue; } + if (!r0) { step = 18; continue; } r0 = s.tmp_0; - { step = 4; continue; } - case 1: - s.tmp_5 = Sprite_x__P38664_mk(s); - r0 = s.arg0.fields["sprite"]; - s.tmp_5.arg0 = r0; - s.callLocIdx = 889; s.pc = 5; return s.tmp_5; - case 5: + { step = 19; continue; } + case 18: + s.tmp_5 = Fx_abs__P165_mk(s); + s.tmp_5.arg0 = s.yStep___16986; + s.callLocIdx = 604; s.pc = 34; return s.tmp_5; + case 34: r0 = s.retval; s.tmp_4 = r0; - r0 = s.arg0.fields["_lastUpdatedSpriteX"]; + r0 = s.arg0.fields["maxSingleStep"]; s.tmp_6 = r0; - r0 = (s.tmp_4 === s.tmp_6); - s.tmp_3 = r0; - r0 = pxsim_numops_toBool(s.tmp_3); - if (r0) { step = 2; continue; } - r0 = s.tmp_3; - { step = 3; continue; } - case 2: - s.tmp_8 = Sprite_y__P38666_mk(s); - r0 = s.arg0.fields["sprite"]; - s.tmp_8.arg0 = r0; - s.callLocIdx = 890; s.pc = 6; return s.tmp_8; - case 6: - r0 = s.retval; + r0 = (s.tmp_4 > s.tmp_6); + case 19: + // jmp value (already in r0) s.tmp_7 = r0; - r0 = s.arg0.fields["_lastUpdatedSpriteY"]; + 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___16984; + s.callLocIdx = 605; s.pc = 35; return s.tmp_10; + case 35: + r0 = s.retval; s.tmp_9 = r0; - r0 = (s.tmp_7 === s.tmp_9); - case 3: - // jmp value (already in r0) - s.tmp_10 = r0; - r0 = s.tmp_10; - case 4: - // jmp value (already in r0) + r0 = s.arg0.fields["minSingleStep"]; s.tmp_11 = r0; - r0 = s.tmp_11; + 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___16984, 2); + s.xStep___16984 = (r0); + case 20: + case 21: + s.tmp_2 = Fx_abs__P165_mk(s); + s.tmp_2.arg0 = s.yStep___16986; + s.callLocIdx = 607; s.pc = 36; return s.tmp_2; + case 36: + r0 = s.retval; + s.tmp_1 = r0; + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = pxsim.Math_.idiv(s.yStep___16986, 2); + s.yStep___16986 = (r0); + case 22: + case 23: + { step = 17; continue; } + case 24: + r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C2524_VT); + s.tmp_0 = r0; + s.tmp_1 = MovingSprite_constructor__P2525_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___16958; + s.tmp_1.arg5 = s.dy___16971; + s.tmp_1.arg6 = s.xStep___16984; + s.tmp_1.arg7 = s.yStep___16986; + s.callLocIdx = 609; s.pc = 37; return s.tmp_1; + case 37: + r0 = s.retval; + r0 = s.tmp_0; return leave(s, r0) default: oops() } } } -scene_Camera_isUpdated__P39149.info = {"start":2403,"length":150,"line":79,"column":8,"endLine":81,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"isUpdated","argumentNames":["this"]} +ArcadePhysicsEngine_createMovingSprite__P4775.info = {"start":6933,"length":2805,"line":217,"column":4,"endLine":307,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"createMovingSprite","argumentNames":["this","sprite","dtMs","dt2"]} -function scene_Camera_isUpdated__P39149_mk(s) { +function ArcadePhysicsEngine_createMovingSprite__P4775_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_isUpdated__P39149, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P4775, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -35759,14 +35484,27 @@ function scene_Camera_isUpdated__P39149_mk(s) { tmp_9: undefined, tmp_10: undefined, tmp_11: undefined, + ovx___16830: undefined, + ovy___16835: undefined, + fx___16862: undefined, + c___16869: undefined, + fy___16912: undefined, + c___16919: undefined, + dx___16958: undefined, + dy___16971: undefined, + xStep___16984: undefined, + yStep___16986: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function Sprite_bottom__P38707(s) { +function ArcadePhysicsEngine_constrain__P4781(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -35782,36 +35520,33 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = Sprite_top__P38705_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = r0 = s.arg1; - s.tmp_3 = Sprite_height__P38699_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 365; s.pc = 2; return s.tmp_3; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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 = 785; s.pc = 2; return s.tmp_1; case 2: r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["maxNegativeVelocity"]; s.tmp_0.arg1 = r0; - s.callLocIdx = 366; s.pc = 1; return s.tmp_0; + s.callLocIdx = 786; s.pc = 1; return s.tmp_0; case 1: r0 = s.retval; - r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_bottom__P38707.info = {"start":12204,"length":73,"line":440,"column":4,"endLine":442,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this","value"]} +ArcadePhysicsEngine_constrain__P4781.info = {"start":27343,"length":193,"line":761,"column":4,"endLine":769,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"constrain","argumentNames":["this","v"]} -function Sprite_bottom__P38707_mk(s) { +function ArcadePhysicsEngine_constrain__P4781_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_bottom__P38707, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_constrain__P4781, depth: s.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, } } @@ -35820,7 +35555,7 @@ function Sprite_bottom__P38707_mk(s) { -function Sprite_right__P38703(s) { +function Fx_compare__P164(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -35835,37 +35570,17 @@ switch (step) { s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = Sprite_left__P38701_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = r0 = s.arg1; - s.tmp_3 = Sprite_width__P38698_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 357; 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 = 358; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + r0 = (s.arg0 - s.arg1); return leave(s, r0) default: oops() } } } -Sprite_right__P38703.info = {"start":11367,"length":71,"line":410,"column":4,"endLine":412,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this","value"]} +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 Sprite_right__P38703_mk(s) { +function Fx_compare__P164_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_right__P38703, depth: s.depth + 1, + parent: s, fn: Fx_compare__P164, depth: s.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, } } @@ -35874,7 +35589,7 @@ function Sprite_right__P38703_mk(s) { -function ArcadePhysicsEngine_spriteCollisions__P38869(s) { +function sprites_SpriteMap_insertAABB__P2452(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -35884,189 +35599,135 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ms___51717 = undefined; - s.unnamed260___U1 = undefined; - s.unnamed261___U2 = undefined; - s.sprite___51719 = undefined; - s.overSprites___51726 = undefined; - s.overlapper___51734 = undefined; - s.unnamed262___U6 = undefined; - s.unnamed263___U7 = undefined; - s.thisKind___51740 = undefined; - s.otherKind___51744 = undefined; - s.higher___51757 = undefined; - s.lower___51766 = undefined; + s.left___16650 = undefined; + s.top___16653 = undefined; + s.xn___16656 = undefined; + s.yn___16667 = undefined; + s.x___16678 = undefined; + s.y___16683 = 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__C38855_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___51717 = (undefined); - s.unnamed260___U1 = (s.arg1); - s.unnamed261___U2 = (0); - case 3: - s.tmp_0 = r0 = s.unnamed261___U2; - r0 = pxsim_Array__length(s.unnamed260___U1); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 20; continue; } - r0 = pxsim_Array__getAt(s.unnamed260___U1, s.unnamed261___U2); - s.ms___51717 = (r0); - r0 = s.ms___51717.fields["sprite"]; - s.sprite___51719 = (r0); - r0 = s.sprite___51719.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: + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P2398_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 504; s.pc = 5; return s.tmp_0; case 5: - s.tmp_2 = sprites_SpriteMap_overlaps__P38753_mk(s); - r0 = s.arg0.fields["map"]; - s.tmp_2.arg0 = r0; - r0 = s.ms___51717.fields["sprite"]; - s.tmp_2.arg1 = r0; - s.callLocIdx = 610; s.pc = 22; return s.tmp_2; - case 22: r0 = s.retval; - s.overSprites___51726 = (r0); - s.overlapper___51734 = (undefined); - s.unnamed262___U6 = (s.overSprites___51726); - s.unnamed263___U7 = (0); + s.left___16650 = (r0); + s.tmp_0 = Sprite_top__P2402_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 505; s.pc = 6; return s.tmp_0; case 6: - s.tmp_0 = r0 = s.unnamed263___U7; - r0 = pxsim_Array__length(s.unnamed262___U6); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 18; continue; } - r0 = pxsim_Array__getAt(s.unnamed262___U6, s.unnamed263___U7); - s.overlapper___51734 = (r0); - r0 = s.overlapper___51734.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; } + r0 = s.retval; + s.top___16653 = (r0); + s.tmp_3 = Sprite_width__P2396_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 506; s.pc = 7; return s.tmp_3; case 7: - case 8: - r0 = s.sprite___51719.fields["_kind"]; - s.thisKind___51740 = (r0); - r0 = s.overlapper___51734.fields["_kind"]; - s.otherKind___51744 = (r0); - r0 = s.sprite___51719.fields["_kindsOverlappedWith"]; + r0 = s.retval; s.tmp_2 = r0; - r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___51744, undefined); + 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); + 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___51719.fields["id"]; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5); + s.xn___16656 = (r0); + s.tmp_3 = Sprite_height__P2397_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 507; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.arg0.fields["cellHeight"]; s.tmp_4 = r0; - r0 = s.overlapper___51734.fields["id"]; + 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 = (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___51719; - { step = 12; continue; } - case 11: - r0 = s.overlapper___51734; - case 12: - // jmp value (already in r0) - s.tmp_6 = r0; - s.higher___51757 = (s.tmp_6); - r0 = (s.higher___51757 === s.sprite___51719); + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5); + s.yn___16667 = (r0); + s.x___16678 = (0); + case 1: + r0 = (s.x___16678 <= s.xn___16656); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 13; continue; } - r0 = s.overlapper___51734; - { step = 14; continue; } - case 13: - r0 = s.sprite___51719; - case 14: - // jmp value (already in r0) - s.tmp_1 = r0; - s.lower___51766 = (s.tmp_1); - r0 = s.higher___51757.fields["_overlappers"]; - s.tmp_2 = r0; - r0 = s.lower___51766.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); + if (!r0) { step = 4; continue; } + s.y___16683 = (0); + case 2: + r0 = (s.y___16683 <= s.yn___16667); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 15; continue; } - r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P51786); - s.tmp_4 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___51740); - r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___51744); - r0 = pxsim_pxtcore_mkAction(5, ArcadePhysicsEngine_spriteCollisions_inline__P51810); - s.tmp_5 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___51757); - r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___51766); - r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.sprite___51719); - r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.overlapper___51734); - r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.thisKind___51740); - s.tmp_6 = helpers_arrayForEach__P37574_mk(s); - s.tmp_7 = helpers_arrayFilter__P37575_mk(s); - s.tmp_7.arg0 = s.arg2; - s.tmp_7.arg1 = s.tmp_4; - s.callLocIdx = 613; s.pc = 24; return s.tmp_7; - case 24: + if (!r0) { step = 3; continue; } + s.tmp_1 = sprites_SpriteMap_insertAtKey__P4739_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = r0 = s.left___16650; + s.tmp_4 = Math_min__P131_mk(s); + s.tmp_5 = Sprite_width__P2396_mk(s); + s.tmp_5.arg0 = s.arg1; + s.callLocIdx = 508; s.pc = 11; return s.tmp_5; + case 11: r0 = s.retval; - s.tmp_6.arg0 = r0; - s.tmp_6.arg1 = s.tmp_5; - s.callLocIdx = 615; s.pc = 23; return s.tmp_6; - case 23: + s.tmp_4.arg0 = r0; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_6 = r0; + r0 = (s.x___16678 * s.tmp_6); + s.tmp_4.arg1 = r0; + s.callLocIdx = 509; s.pc = 10; return s.tmp_4; + case 10: r0 = s.retval; - case 15: - case 16: - case 17: - r0 = (s.unnamed263___U7 + 1); - s.unnamed263___U7 = (r0); - { step = 6; continue; } - case 18: - s.unnamed262___U6 = (undefined); - case 19: - r0 = (s.unnamed261___U2 + 1); - s.unnamed261___U2 = (r0); - { step = 3; continue; } - case 20: - s.unnamed260___U1 = (undefined); - case 21: + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1.arg1 = r0; + s.tmp_7 = r0 = s.top___16653; + s.tmp_9 = Math_min__P131_mk(s); + s.tmp_10 = Sprite_height__P2397_mk(s); + s.tmp_10.arg0 = s.arg1; + s.callLocIdx = 510; s.pc = 13; return s.tmp_10; + case 13: + r0 = s.retval; + s.tmp_9.arg0 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_11 = r0; + r0 = (s.y___16683 * s.tmp_11); + s.tmp_9.arg1 = r0; + s.callLocIdx = 511; s.pc = 12; return s.tmp_9; + case 12: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_7 + s.tmp_8); + s.tmp_1.arg2 = r0; + s.tmp_1.arg3 = s.arg1; + s.callLocIdx = 512; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = (s.y___16683 + 1); + s.y___16683 = (r0); + { step = 2; continue; } + case 3: + r0 = (s.x___16678 + 1); + s.x___16678 = (r0); + { step = 1; continue; } + case 4: r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_spriteCollisions__P38869.info = {"start":9744,"length":2268,"line":309,"column":4,"endLine":353,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"spriteCollisions","argumentNames":["this","movedSprites","handlers"]} +sprites_SpriteMap_insertAABB__P2452.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 ArcadePhysicsEngine_spriteCollisions__P38869_mk(s) { +function sprites_SpriteMap_insertAABB__P2452_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P38869, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_insertAABB__P2452, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -36076,28 +35737,25 @@ function ArcadePhysicsEngine_spriteCollisions__P38869_mk(s) { tmp_5: undefined, tmp_6: undefined, tmp_7: undefined, - ms___51717: undefined, - unnamed260___U1: undefined, - unnamed261___U2: undefined, - sprite___51719: undefined, - overSprites___51726: undefined, - overlapper___51734: undefined, - unnamed262___U6: undefined, - unnamed263___U7: undefined, - thisKind___51740: undefined, - otherKind___51744: undefined, - higher___51757: undefined, - lower___51766: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + left___16650: undefined, + top___16653: undefined, + xn___16656: undefined, + yn___16667: undefined, + x___16678: undefined, + y___16683: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function forEach_inline__P51786(s) { +function sprites_SpriteMap_insertAtKey__P4739(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36107,77 +35765,82 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.k___16718 = undefined; + s.bucket___16723 = 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.fields["kind"]; + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_key__P4738_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 503; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.k___16718 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___16718); + s.bucket___16723 = (r0); + r0 = pxsim_numops_toBoolDecr(s.bucket___16723); s.tmp_1 = r0; - r0 = (s.tmp_1 === s.caps[0]); + 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["otherKind"]; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["buckets"]; s.tmp_2 = r0; - r0 = (s.tmp_2 === s.caps[1]); + s.tmp_3 = r0 = s.k___16718; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4); + s.bucket___16723 = (s.tmp_4); + case 1: case 2: - // jmp value (already in r0) - s.tmp_3 = r0; - r0 = pxsim_numops_toBool(s.tmp_3); + r0 = pxsim_Array_.indexOf(s.bucket___16723, 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 = s.tmp_3; - { step = 6; continue; } + r0 = pxsim_Array__push(s.bucket___16723, s.arg3); 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; + r0 = undefined; return leave(s, r0) default: oops() } } } -forEach_inline__P51786.info = {"start":11113,"length":137,"line":335,"column":32,"endLine":336,"endColumn":81,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} +sprites_SpriteMap_insertAtKey__P4739.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 forEach_inline__P51786_mk(s) { +function sprites_SpriteMap_insertAtKey__P4739_mk(s) { checkStack(s.depth); return { - parent: s, fn: forEach_inline__P51786, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_insertAtKey__P4739, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, + k___16718: undefined, + bucket___16723: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function ArcadePhysicsEngine_spriteCollisions_inline__P51810(s) { +function sprites_SpriteMap_clear__P2451(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36191,30 +35854,22 @@ switch (step) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } - r0 = s.caps[0].fields["_overlappers"]; - s.tmp_0 = r0; - r0 = s.caps[1].fields["id"]; + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); s.tmp_1 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); - r0 = pxsim_pxtcore_mkAction(6, ArcadePhysicsEngine_spriteCollisions_inline__P51820); - 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 = (s.tmp_0).fields["buckets"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_spriteCollisions_inline__P51810.info = {"start":11310,"length":652,"line":338,"column":33,"endLine":349,"endColumn":25,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} +sprites_SpriteMap_clear__P2451.info = {"start":2532,"length":50,"line":72,"column":8,"endLine":74,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"clear","argumentNames":["this"]} -function ArcadePhysicsEngine_spriteCollisions_inline__P51810_mk(s) { +function sprites_SpriteMap_clear__P2451_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P51810, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_clear__P2451, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -36225,7 +35880,7 @@ function ArcadePhysicsEngine_spriteCollisions_inline__P51810_mk(s) { -function ArcadePhysicsEngine_spriteCollisions_inline__P51820(s) { +function sprites_SpriteMap_resizeBuckets__P2450(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36235,78 +35890,155 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re 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.maxWidth___16753 = undefined; + s.maxHeight___16754 = undefined; + s.sprite___16756 = undefined; + s.unnamed70___U3 = undefined; + s.unnamed71___U4 = undefined; + s.tMap___16772 = undefined; + s.areaWidth___16776 = undefined; + s.areaHeight___16783 = 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__C2445_VT)) failedCast(r0); + s.maxWidth___16753 = (0); + s.maxHeight___16754 = (0); + s.sprite___16756 = (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___16756 = (r0); + s.tmp_4 = Sprite_width__P2396_mk(s); + s.tmp_4.arg0 = s.sprite___16756; + s.callLocIdx = 492; s.pc = 11; return s.tmp_4; + case 11: + r0 = s.retval; s.tmp_3 = r0; - r0 = (s.tmp_3 & 4610); + r0 = (s.tmp_3 > s.maxWidth___16753); s.tmp_2 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + s.tmp_5 = Sprite_width__P2396_mk(s); + s.tmp_5.arg0 = s.sprite___16756; + s.callLocIdx = 493; s.pc = 12; return s.tmp_5; + case 12: + r0 = s.retval; + s.maxWidth___16753 = (r0); + case 2: + case 3: + s.tmp_2 = Sprite_height__P2397_mk(s); + s.tmp_2.arg0 = s.sprite___16756; + s.callLocIdx = 494; s.pc = 13; return s.tmp_2; + case 13: + r0 = s.retval; s.tmp_1 = r0; - r0 = pxsim_Boolean__bang(s.tmp_1); + r0 = (s.tmp_1 > s.maxHeight___16754); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 5; continue; } - r0 = s.caps[2].fields["kind"]; - s.tmp_7 = r0; - r0 = (s.caps[3] === s.tmp_7); - s.tmp_6 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_6); - if (!r0) { step = 1; continue; } - r0 = s.caps[0]; - { step = 2; continue; } - case 1: - r0 = s.caps[1]; - case 2: - // jmp value (already in r0) - s.tmp_8 = r0; - r0 = s.caps[2].fields["kind"]; - s.tmp_10 = r0; - r0 = (s.caps[3] === s.tmp_10); - s.tmp_9 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_9); - if (!r0) { step = 3; continue; } - r0 = s.caps[1]; - { step = 4; continue; } - case 3: - r0 = s.caps[0]; - case 4: - // jmp value (already in r0) - s.tmp_11 = r0; - s.tmp_12 = if_handler_3_mk(s); - s.tmp_12.arg0 = s.caps[2]; - s.tmp_12.arg1 = s.tmp_8; - s.tmp_12.arg2 = s.tmp_11; - if (!s.tmp_12.arg0.vtable.iface) { - setupLambda(s.tmp_12, pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "handler"), 3); - s.callLocIdx = 614; s.pc = 7; return s.tmp_12; - } else { - s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["handler"]; - if (s.tmp_12.fn == null) { setupLambda(s.tmp_12, s.tmp_12.arg0.fields["handler"], 3); s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } - else if (s.tmp_12.fn.isGetter) { s.tmp_12.stage2Call = true; s.callLocIdx = 614; s.pc = 7; return s.tmp_12;; } - else { s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } - } - case 7: + if (!r0) { step = 4; continue; } + s.tmp_3 = Sprite_height__P2397_mk(s); + s.tmp_3.arg0 = s.sprite___16756; + s.callLocIdx = 495; s.pc = 14; return s.tmp_3; + case 14: r0 = s.retval; + s.maxHeight___16754 = (r0); + case 4: case 5: + r0 = (s.unnamed71___U4 + 1); + s.unnamed71___U4 = (r0); + { step = 1; continue; } case 6: - r0 = s.caps[4].fields["_overlappers"]; - s.tmp_0 = r0; - r0 = s.caps[5].fields["id"]; + s.unnamed70___U3 = (undefined); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 496; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tMap___16772 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tMap___16772); + if (!r0) { step = 7; continue; } + s.tmp_0 = tiles_TileMap_areaWidth__P2742_mk(s); + s.tmp_0.arg0 = s.tMap___16772; + s.callLocIdx = 497; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + { step = 8; continue; } + case 7: + r0 = pxsim_ImageMethods.width(globals.screen___2032); + case 8: + // jmp value (already in r0) s.tmp_1 = r0; - r0 = pxsim_Array_.removeElement(s.tmp_0, s.tmp_1); + s.areaWidth___16776 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.tMap___16772); + if (!r0) { step = 9; continue; } + s.tmp_0 = tiles_TileMap_areaHeight__P2743_mk(s); + s.tmp_0.arg0 = s.tMap___16772; + s.callLocIdx = 498; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + { step = 10; continue; } + case 9: + r0 = pxsim_ImageMethods.height(globals.screen___2032); + case 10: + // jmp value (already in r0) + s.tmp_1 = r0; + s.areaHeight___16783 = (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___16776 >> 2); + s.tmp_2.arg1 = r0; + r0 = (s.maxWidth___16753 * 2); + s.tmp_2.arg2 = r0; + s.callLocIdx = 499; s.pc = 18; return s.tmp_2; + case 18: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["cellWidth"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Math_clamp__P127_mk(s); + s.tmp_2.arg0 = 8; + r0 = (s.areaHeight___16783 >> 2); + s.tmp_2.arg1 = r0; + r0 = (s.maxHeight___16754 * 2); + s.tmp_2.arg2 = r0; + s.callLocIdx = 500; s.pc = 19; return s.tmp_2; + case 19: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["cellHeight"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_2 = r0; + r0 = pxsim.Math_.idiv(s.areaHeight___16783, 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___16776, s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["columnCount"] = (s.tmp_1); r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_spriteCollisions_inline__P51820.info = {"start":11431,"length":503,"line":340,"column":50,"endLine":348,"endColumn":29,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":[]} +sprites_SpriteMap_resizeBuckets__P2450.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 ArcadePhysicsEngine_spriteCollisions_inline__P51820_mk(s) { +function sprites_SpriteMap_resizeBuckets__P2450_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P51820, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_resizeBuckets__P2450, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -36314,20 +36046,23 @@ function ArcadePhysicsEngine_spriteCollisions_inline__P51820_mk(s) { 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, + maxWidth___16753: undefined, + maxHeight___16754: undefined, + sprite___16756: undefined, + unnamed70___U3: undefined, + unnamed71___U4: undefined, + tMap___16772: undefined, + areaWidth___16776: undefined, + areaHeight___16783: undefined, + arg0: undefined, + arg1: undefined, } } -function sprites_SpriteMap_overlaps__P38753(s) { +function Sprite_clearObstacles__P2424(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36337,56 +36072,37 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.n___51854 = undefined; - s.o___51858 = 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__C38751_VT)) failedCast(r0); - s.tmp_0 = sprites_SpriteMap_neighbors__P38752_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.callLocIdx = 487; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.n___51854 = (r0); - r0 = pxsim_pxtcore_mkAction(1, o_inline__P51860); - s.tmp_0 = r0; - r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); - s.tmp_1 = helpers_arrayFilter__P37575_mk(s); - s.tmp_1.arg0 = s.n___51854; - s.tmp_1.arg1 = s.tmp_0; - s.callLocIdx = 489; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.o___51858 = (r0); - r0 = s.o___51858; + if (!checkSubtype(r0, Sprite__C2340_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() } } } -sprites_SpriteMap_overlaps__P38753.info = {"start":923,"length":189,"line":30,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"overlaps","argumentNames":["this","sprite"]} +Sprite_clearObstacles__P2424.info = {"start":24772,"length":54,"line":811,"column":4,"endLine":813,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"clearObstacles","argumentNames":["this"]} -function sprites_SpriteMap_overlaps__P38753_mk(s) { +function Sprite_clearObstacles__P2424_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_overlaps__P38753, depth: s.depth + 1, + parent: s, fn: Sprite_clearObstacles__P2424, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, - n___51854: undefined, - o___51858: undefined, arg0: undefined, - arg1: undefined, } } -function o_inline__P51860(s) { +function Fx_idiv__P163(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36398,148 +36114,90 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - s.tmp_0 = Sprite_overlapsWith__P38721_mk(s); - s.tmp_0.arg0 = s.caps[0]; - s.tmp_0.arg1 = s.arg0; - s.callLocIdx = 488; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; + r0 = pxsim.Math_.idiv(s.arg0, s.arg1); return leave(s, r0) default: oops() } } } -o_inline__P51860.info = {"start":1037,"length":41,"line":32,"column":31,"endLine":32,"endColumn":72,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["neighbor"]} +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 o_inline__P51860_mk(s) { +function Fx_idiv__P163_mk(s) { checkStack(s.depth); return { - parent: s, fn: o_inline__P51860, depth: s.depth + 1, + parent: s, fn: Fx_idiv__P163, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, + arg1: undefined, } } -function sprites_SpriteMap_neighbors__P38752(s) { +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.n___52112 = undefined; - s.layer___52114 = 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__C38751_VT)) failedCast(r0); - r0 = pxsim_Array__mk(); - s.n___52112 = (r0); - r0 = s.arg1.fields["layer"]; - s.layer___52114 = (r0); - s.tmp_0 = sprites_SpriteMap_mergeAtKey__P38760_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = Sprite_left__P38700_mk(s); - s.tmp_1.arg0 = s.arg1; - s.callLocIdx = 475; s.pc = 2; return s.tmp_1; - case 2: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.tmp_2 = Sprite_top__P38704_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 476; s.pc = 3; return s.tmp_2; - case 3: - r0 = s.retval; - s.tmp_0.arg2 = r0; - s.tmp_0.arg3 = s.layer___52114; - s.tmp_0.arg4 = s.n___52112; - s.callLocIdx = 477; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.tmp_0 = sprites_SpriteMap_mergeAtKey__P38760_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = Sprite_left__P38700_mk(s); - s.tmp_1.arg0 = s.arg1; - s.callLocIdx = 478; s.pc = 5; return s.tmp_1; - case 5: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.tmp_2 = Sprite_bottom__P38706_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 479; s.pc = 6; return s.tmp_2; - case 6: - r0 = s.retval; - s.tmp_0.arg2 = r0; - s.tmp_0.arg3 = s.layer___52114; - s.tmp_0.arg4 = s.n___52112; - s.callLocIdx = 480; s.pc = 4; return s.tmp_0; - case 4: - r0 = s.retval; - s.tmp_0 = sprites_SpriteMap_mergeAtKey__P38760_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = Sprite_right__P38702_mk(s); - s.tmp_1.arg0 = s.arg1; - s.callLocIdx = 481; s.pc = 8; return s.tmp_1; - case 8: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.tmp_2 = Sprite_top__P38704_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 482; s.pc = 9; return s.tmp_2; - case 9: - r0 = s.retval; - s.tmp_0.arg2 = r0; - s.tmp_0.arg3 = s.layer___52114; - s.tmp_0.arg4 = s.n___52112; - s.callLocIdx = 483; s.pc = 7; return s.tmp_0; - case 7: - r0 = s.retval; - s.tmp_0 = sprites_SpriteMap_mergeAtKey__P38760_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_1 = Sprite_right__P38702_mk(s); - s.tmp_1.arg0 = s.arg1; - s.callLocIdx = 484; s.pc = 11; return s.tmp_1; - case 11: - r0 = s.retval; - s.tmp_0.arg1 = r0; - s.tmp_2 = Sprite_bottom__P38706_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 485; s.pc = 12; return s.tmp_2; - case 12: - r0 = s.retval; - s.tmp_0.arg2 = r0; - s.tmp_0.arg3 = s.layer___52114; - s.tmp_0.arg4 = s.n___52112; - s.callLocIdx = 486; s.pc = 10; return s.tmp_0; - case 10: +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.res___17048 = undefined; + s.len___17050 = undefined; + s.i___17053 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___17048 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___17050 = (r0); + s.i___17053 = (0); + case 1: + r0 = (s.i___17053 < s.len___17050); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.res___17048; + s.tmp_3 = lambda_3_mk(s); + s.tmp_3.argL = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.i___17053); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.i___17053; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 4; s.pc = 3; return s.tmp_3; + case 3: r0 = s.retval; - r0 = pxsim_Array_.removeElement(s.n___52112, s.arg1); - r0 = s.n___52112; + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___17053 + 1); + s.i___17053 = (r0); + { step = 1; continue; } + case 2: + r0 = s.res___17048; return leave(s, r0) default: oops() } } } -sprites_SpriteMap_neighbors__P38752.info = {"start":376,"length":442,"line":15,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"neighbors","argumentNames":["this","sprite"]} +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 sprites_SpriteMap_neighbors__P38752_mk(s) { +function helpers_arrayMap__P106_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_neighbors__P38752, depth: s.depth + 1, + 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, - n___52112: undefined, - layer___52114: undefined, + tmp_3: undefined, + res___17048: undefined, + len___17050: undefined, + i___17053: undefined, arg0: undefined, arg1: undefined, } } @@ -36548,7 +36206,7 @@ function sprites_SpriteMap_neighbors__P38752_mk(s) { -function sprites_SpriteMap_mergeAtKey__P38760(s) { +function ArcadePhysicsEngine_draw__P2537(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36558,107 +36216,157 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.k___52163 = undefined; - s.bucket___52168 = undefined; - s.sprite___52175 = undefined; - s.unnamed256___U3 = undefined; - s.unnamed257___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__C38751_VT)) failedCast(r0); - s.tmp_0 = sprites_SpriteMap_key__P38757_mk(s); + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_draw__P2449_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 538; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_draw__P2537.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__P2537_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_draw__P2537, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_draw__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: + + s.x___17074 = undefined; + s.y___17080 = undefined; + s.left___17086 = undefined; + s.top___17091 = undefined; + s.k___17096 = undefined; + s.b___17101 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2445_VT)) failedCast(r0); + s.x___17074 = (0); + case 1: + r0 = s.arg0.fields["columnCount"]; + s.tmp_1 = r0; + r0 = (s.x___17074 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.y___17080 = (0); + case 2: + r0 = s.arg0.fields["rowCount"]; + s.tmp_1 = r0; + r0 = (s.y___17080 < 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___17074 * s.tmp_2); + s.left___17086 = (r0); + r0 = s.arg0.fields["cellHeight"]; + s.tmp_0 = r0; + r0 = (s.y___17080 * s.tmp_0); + s.top___17091 = (r0); + s.tmp_0 = sprites_SpriteMap_key__P4738_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.arg2; - s.callLocIdx = 513; s.pc = 9; return s.tmp_0; + s.tmp_0.arg1 = s.left___17086; + s.tmp_0.arg2 = s.top___17091; + s.callLocIdx = 490; s.pc = 9; return s.tmp_0; case 9: r0 = s.retval; - s.k___52163 = (r0); + s.k___17096 = (r0); r0 = s.arg0.fields["buckets"]; s.tmp_0 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.k___52163); - s.bucket___52168 = (r0); - r0 = pxsim_numops_toBoolDecr(s.bucket___52168); - if (!r0) { step = 7; continue; } - s.sprite___52175 = (undefined); - s.unnamed256___U3 = (s.bucket___52168); - s.unnamed257___U4 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed257___U4; - r0 = pxsim_Array__length(s.unnamed256___U3); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 6; continue; } - r0 = pxsim_Array__getAt(s.unnamed256___U3, s.unnamed257___U4); - s.sprite___52175 = (r0); - r0 = s.sprite___52175.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___52175, undefined); - s.tmp_4 = r0; - r0 = (s.tmp_4 < 0); + r0 = pxsim_Array__getAt(s.tmp_0, s.k___17096); + s.b___17101 = (r0); + s.tmp_0 = r0 = s.b___17101; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } 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___52175); + r0 = pxsim_Array__length(s.b___17101); 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__P1959_mk(s); + s.tmp_2.arg0 = globals.screen___2032; + s.tmp_2.arg1 = s.left___17086; + s.tmp_2.arg2 = s.top___17091; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_2.arg3 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_2.arg4 = r0; + s.tmp_2.arg5 = 5; + s.callLocIdx = 491; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; case 5: - r0 = (s.unnamed257___U4 + 1); - s.unnamed257___U4 = (r0); - { step = 1; continue; } case 6: - s.unnamed256___U3 = (undefined); + r0 = (s.y___17080 + 1); + s.y___17080 = (r0); + { step = 2; continue; } case 7: + r0 = (s.x___17074 + 1); + s.x___17074 = (r0); + { step = 1; continue; } case 8: r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_SpriteMap_mergeAtKey__P38760.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"]} +sprites_SpriteMap_draw__P2449.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_mergeAtKey__P38760_mk(s) { +function sprites_SpriteMap_draw__P2449_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_mergeAtKey__P38760, depth: s.depth + 1, + parent: s, fn: sprites_SpriteMap_draw__P2449, depth: s.depth + 1, pc: 0, retval: undefined, 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___52163: undefined, - bucket___52168: undefined, - sprite___52175: undefined, - unnamed256___U3: undefined, - unnamed257___U4: undefined, + x___17074: undefined, + y___17080: undefined, + left___17086: undefined, + top___17091: undefined, + k___17096: undefined, + b___17101: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, - arg4: undefined, } } -function sprites_SpriteMap_key__P38757(s) { +function ArcadePhysicsEngine_removeSprite__P2536(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36668,71 +36376,37 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.xi___52196 = undefined; - s.yi___52208 = 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__C38751_VT)) failedCast(r0); - s.tmp_0 = Math_clamp__P37593_mk(s); - s.tmp_0.arg0 = 0; - r0 = s.arg0.fields["columnCount"]; - s.tmp_0.arg1 = r0; - r0 = s.arg0.fields["cellWidth"]; - s.tmp_1 = r0; - r0 = pxsim.Math_.idiv(s.arg1, s.tmp_1); - s.tmp_0.arg2 = r0; - s.callLocIdx = 501; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - s.xi___52196 = (r0); - s.tmp_0 = Math_clamp__P37593_mk(s); - s.tmp_0.arg0 = 0; - r0 = s.arg0.fields["rowCount"]; - s.tmp_0.arg1 = r0; - r0 = s.arg0.fields["cellHeight"]; - s.tmp_1 = r0; - r0 = pxsim.Math_.idiv(s.arg2, s.tmp_1); - s.tmp_0.arg2 = r0; - s.callLocIdx = 502; s.pc = 2; return s.tmp_0; - case 2: - r0 = s.retval; - s.yi___52208 = (r0); - s.tmp_0 = r0 = s.xi___52196; - r0 = s.arg0.fields["columnCount"]; - s.tmp_2 = r0; - r0 = (s.yi___52208 * s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_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() } } } -sprites_SpriteMap_key__P38757.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"]} +ArcadePhysicsEngine_removeSprite__P2536.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 sprites_SpriteMap_key__P38757_mk(s) { +function ArcadePhysicsEngine_removeSprite__P2536_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_key__P38757, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_removeSprite__P2536, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - xi___52196: undefined, - yi___52208: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function Sprite_overlapsWith__P38721(s) { +function ArcadePhysicsEngine_addSprite__P2535(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -36742,330 +36416,58 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.A___51925 = undefined; - s.B___51926 = undefined; + s.tm___17138 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - r0 = (s.arg1 == s.arg0); + if (!checkSubtype(r0, ArcadePhysicsEngine__C2526_VT)) failedCast(r0); + r0 = s.arg0.fields["sprites"]; 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; } + r0 = pxsim_Array__push(s.tmp_0, s.arg1); + s.tmp_0 = game_currentScene__P2998_mk(s); + s.callLocIdx = 536; s.pc = 5; return s.tmp_0; case 5: - case 6: - s.tmp_8 = game_Hitbox_overlapsWith__P38604_mk(s); - r0 = s.arg1.fields["_hitbox"]; - s.tmp_8.arg0 = r0; - r0 = s.arg0.fields["_hitbox"]; - s.tmp_8.arg1 = r0; - s.callLocIdx = 384; 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__P38697_mk(s); - s.tmp_12.arg0 = s.arg0; - s.callLocIdx = 385; 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__P38697_mk(s); - s.tmp_15.arg0 = s.arg1; - s.callLocIdx = 386; 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__P38700_mk(s); - s.tmp_21.arg0 = s.arg0; - s.callLocIdx = 387; s.pc = 27; return s.tmp_21; - case 27: - r0 = s.retval; - s.tmp_20 = r0; - s.tmp_23 = Sprite_left__P38700_mk(s); - s.tmp_23.arg0 = s.arg1; - s.callLocIdx = 388; 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__P38704_mk(s); - s.tmp_26.arg0 = s.arg0; - s.callLocIdx = 389; s.pc = 29; return s.tmp_26; - case 29: r0 = s.retval; - s.tmp_25 = r0; - s.tmp_28 = Sprite_top__P38704_mk(s); - s.tmp_28.arg0 = s.arg1; - s.callLocIdx = 390; 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__P38680_mk(s); - s.tmp_31.arg0 = s.arg0; - s.callLocIdx = 391; 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__P38682_mk(s); - s.tmp_33.arg0 = s.arg0; - s.callLocIdx = 392; 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__P38680_mk(s); - s.tmp_36.arg0 = s.arg1; - s.callLocIdx = 393; 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__P38682_mk(s); - s.tmp_39.arg0 = s.arg1; - s.callLocIdx = 394; s.pc = 34; return s.tmp_39; - case 34: + r0 = r0.fields["tileMap"]; + s.tm___17138 = (r0); + s.tmp_0 = r0 = s.tm___17138; + 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__P2757_mk(s); + s.tmp_1.arg0 = s.tm___17138; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 537; s.pc = 6; return s.tmp_1; + case 6: r0 = s.retval; - s.tmp_38 = r0; - r0 = (s.tmp_38 == 0); - case 17: + case 2: // 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__P38680_mk(s); - s.tmp_44.arg0 = s.arg0; - s.callLocIdx = 395; s.pc = 35; return s.tmp_44; - case 35: - r0 = s.retval; - s.tmp_43 = r0; - s.tmp_46 = Sprite_sy__P38682_mk(s); - s.tmp_46.arg0 = s.arg0; - s.callLocIdx = 396; 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__P38680_mk(s); - s.tmp_49.arg0 = s.arg1; - s.callLocIdx = 397; s.pc = 37; return s.tmp_49; - case 37: - r0 = s.retval; - s.tmp_48 = r0; - s.tmp_51 = Sprite_sy__P38682_mk(s); - s.tmp_51.arg0 = s.arg1; - s.callLocIdx = 398; 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___51925 = (s.arg0); - s.B___51926 = (s.arg1); - { step = 21; continue; } - case 20: - s.A___51925 = (s.arg1); - s.B___51926 = (s.arg0); - case 21: - s.tmp_0 = helpers_imageBlit__P38258_mk(s); - r0 = s.A___51925.fields["_image"]; - s.tmp_0.arg0 = r0; - s.tmp_3 = Sprite_left__P38700_mk(s); - s.tmp_3.arg0 = s.B___51926; - s.callLocIdx = 400; s.pc = 40; return s.tmp_3; - case 40: - r0 = s.retval; s.tmp_2 = r0; - s.tmp_5 = Sprite_left__P38700_mk(s); - s.tmp_5.arg0 = s.A___51925; - s.callLocIdx = 401; s.pc = 41; return s.tmp_5; - case 41: - r0 = s.retval; + 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_2 - s.tmp_4); - s.tmp_1 = r0; - s.tmp_7 = Sprite_sx__P38680_mk(s); - s.tmp_7.arg0 = s.A___51925; - s.callLocIdx = 402; 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__P38704_mk(s); - s.tmp_10.arg0 = s.B___51926; - s.callLocIdx = 403; s.pc = 43; return s.tmp_10; - case 43: - r0 = s.retval; - s.tmp_9 = r0; - s.tmp_12 = Sprite_top__P38704_mk(s); - s.tmp_12.arg0 = s.A___51925; - s.callLocIdx = 404; 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__P38682_mk(s); - s.tmp_14.arg0 = s.A___51925; - s.callLocIdx = 405; 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__P38698_mk(s); - s.tmp_16.arg0 = s.B___51926; - s.callLocIdx = 406; s.pc = 46; return s.tmp_16; - case 46: - r0 = s.retval; - s.tmp_15 = r0; - s.tmp_18 = Sprite_sx__P38680_mk(s); - s.tmp_18.arg0 = s.A___51925; - s.callLocIdx = 407; 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__P38699_mk(s); - s.tmp_20.arg0 = s.B___51926; - s.callLocIdx = 408; s.pc = 48; return s.tmp_20; - case 48: - r0 = s.retval; - s.tmp_19 = r0; - s.tmp_22 = Sprite_sy__P38682_mk(s); - s.tmp_22.arg0 = s.A___51925; - s.callLocIdx = 409; 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___51926.fields["_image"]; - s.tmp_0.arg5 = r0; - s.tmp_0.arg6 = 0; - s.tmp_0.arg7 = 0; - r0 = s.B___51926.fields["_image"]; - s.tmp_23 = r0; - r0 = pxsim_ImageMethods.width(s.tmp_23); - s.tmp_0.arg8 = r0; - r0 = s.B___51926.fields["_image"]; - s.tmp_24 = r0; - r0 = pxsim_ImageMethods.height(s.tmp_24); - s.tmp_0.arg9 = r0; - s.tmp_0.arg10 = true; - s.tmp_0.arg11 = true; - s.callLocIdx = 413; s.pc = 39; return s.tmp_0; - case 39: - r0 = s.retval; - { step = 23; continue; } - case 22: + r0 = (s.tmp_3).fields["flags"] = (s.tmp_4); + case 3: + case 4: r0 = undefined; - case 23: return leave(s, r0) default: oops() } } } -Sprite_overlapsWith__P38721.info = {"start":20623,"length":1575,"line":689,"column":4,"endLine":736,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"overlapsWith","argumentNames":["this","other"]} +ArcadePhysicsEngine_addSprite__P2535.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 Sprite_overlapsWith__P38721_mk(s) { +function ArcadePhysicsEngine_addSprite__P2535_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_overlapsWith__P38721, depth: s.depth + 1, + parent: s, fn: ArcadePhysicsEngine_addSprite__P2535, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -37073,54 +36475,7 @@ function Sprite_overlapsWith__P38721_mk(s) { 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___51925: undefined, - B___51926: undefined, + tm___17138: undefined, arg0: undefined, arg1: undefined, } } @@ -37129,7 +36484,7 @@ function Sprite_overlapsWith__P38721_mk(s) { -function Sprite_isScaled__P38697(s) { +function tiles_TileMapData_constructor__P2717(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -37141,48 +36496,56 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_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; } + if (!checkSubtype(r0, tiles_TileMapData__C2716_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__P2721_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg4; + s.callLocIdx = 808; s.pc = 1; return s.tmp_0; case 1: - r0 = s.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; + 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() } } } -Sprite_isScaled__P38697.info = {"start":10166,"length":100,"line":369,"column":4,"endLine":371,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isScaled","argumentNames":["this"]} +tiles_TileMapData_constructor__P2717.info = {"start":6048,"length":358,"line":204,"column":8,"endLine":212,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","data","layers","tileset","scale"]} -function Sprite_isScaled__P38697_mk(s) { +function tiles_TileMapData_constructor__P2717_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_isScaled__P38697, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_constructor__P2717, depth: s.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 game_Hitbox_overlapsWith__P38604(s) { +function tiles_TileMapData_scale__P2721(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -37198,253 +36561,25 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, game_Hitbox__C38596_VT)) failedCast(r0); - s.tmp_0 = game_Hitbox_updateIfInvalid__P38603_mk(s); - s.tmp_0.arg0 = s.arg0; - s.callLocIdx = 250; s.pc = 18; return s.tmp_0; - case 18: - r0 = s.retval; - s.tmp_0 = game_Hitbox_updateIfInvalid__P38603_mk(s); - s.tmp_0.arg0 = s.arg1; - s.callLocIdx = 251; s.pc = 19; return s.tmp_0; - case 19: - r0 = s.retval; - s.tmp_1 = game_Hitbox_contains__P38602_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_2 = game_Hitbox_left__P38597_mk(s); - s.tmp_2.arg0 = s.arg1; - s.callLocIdx = 252; s.pc = 21; return s.tmp_2; - case 21: - r0 = s.retval; - s.tmp_1.arg1 = r0; - s.tmp_3 = game_Hitbox_top__P38598_mk(s); - s.tmp_3.arg0 = s.arg1; - s.callLocIdx = 253; s.pc = 22; return s.tmp_3; - case 22: - r0 = s.retval; - s.tmp_1.arg2 = r0; - s.callLocIdx = 254; s.pc = 20; return s.tmp_1; - case 20: - r0 = s.retval; - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = true; - { step = 17; continue; } - case 1: - case 2: - s.tmp_5 = game_Hitbox_contains__P38602_mk(s); - s.tmp_5.arg0 = s.arg0; - s.tmp_6 = game_Hitbox_left__P38597_mk(s); - s.tmp_6.arg0 = s.arg1; - s.callLocIdx = 255; s.pc = 24; return s.tmp_6; - case 24: - r0 = s.retval; - s.tmp_5.arg1 = r0; - s.tmp_7 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_7.arg0 = s.arg1; - s.callLocIdx = 256; s.pc = 25; return s.tmp_7; - case 25: - r0 = s.retval; - s.tmp_5.arg2 = r0; - s.callLocIdx = 257; s.pc = 23; return s.tmp_5; - case 23: - r0 = s.retval; - s.tmp_4 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_4); - if (!r0) { step = 3; continue; } - r0 = true; - { step = 17; continue; } - case 3: - case 4: - s.tmp_9 = game_Hitbox_contains__P38602_mk(s); - s.tmp_9.arg0 = s.arg0; - s.tmp_10 = game_Hitbox_right__P38599_mk(s); - s.tmp_10.arg0 = s.arg1; - s.callLocIdx = 258; s.pc = 27; return s.tmp_10; - case 27: - r0 = s.retval; - s.tmp_9.arg1 = r0; - s.tmp_11 = game_Hitbox_top__P38598_mk(s); - s.tmp_11.arg0 = s.arg1; - s.callLocIdx = 259; s.pc = 28; return s.tmp_11; - case 28: - r0 = s.retval; - s.tmp_9.arg2 = r0; - s.callLocIdx = 260; s.pc = 26; return s.tmp_9; - case 26: - r0 = s.retval; - s.tmp_8 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_8); - if (!r0) { step = 5; continue; } - r0 = true; - { step = 17; continue; } - case 5: - case 6: - s.tmp_13 = game_Hitbox_contains__P38602_mk(s); - s.tmp_13.arg0 = s.arg0; - s.tmp_14 = game_Hitbox_right__P38599_mk(s); - s.tmp_14.arg0 = s.arg1; - s.callLocIdx = 261; s.pc = 30; return s.tmp_14; - case 30: - r0 = s.retval; - s.tmp_13.arg1 = r0; - s.tmp_15 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_15.arg0 = s.arg1; - s.callLocIdx = 262; s.pc = 31; return s.tmp_15; - case 31: - r0 = s.retval; - s.tmp_13.arg2 = r0; - s.callLocIdx = 263; s.pc = 29; return s.tmp_13; - case 29: - r0 = s.retval; - s.tmp_12 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_12); - if (!r0) { step = 7; continue; } - r0 = true; - { step = 17; continue; } - case 7: - case 8: - s.tmp_17 = game_Hitbox_contains__P38602_mk(s); - s.tmp_17.arg0 = s.arg1; - s.tmp_18 = game_Hitbox_left__P38597_mk(s); - s.tmp_18.arg0 = s.arg0; - s.callLocIdx = 264; s.pc = 33; return s.tmp_18; - case 33: - r0 = s.retval; - s.tmp_17.arg1 = r0; - s.tmp_19 = game_Hitbox_top__P38598_mk(s); - s.tmp_19.arg0 = s.arg0; - s.callLocIdx = 265; s.pc = 34; return s.tmp_19; - case 34: - r0 = s.retval; - s.tmp_17.arg2 = r0; - s.callLocIdx = 266; s.pc = 32; return s.tmp_17; - case 32: - r0 = s.retval; - s.tmp_16 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_16); - if (!r0) { step = 9; continue; } - r0 = true; - { step = 17; continue; } - case 9: - case 10: - s.tmp_21 = game_Hitbox_contains__P38602_mk(s); - s.tmp_21.arg0 = s.arg1; - s.tmp_22 = game_Hitbox_left__P38597_mk(s); - s.tmp_22.arg0 = s.arg0; - s.callLocIdx = 267; s.pc = 36; return s.tmp_22; - case 36: - r0 = s.retval; - s.tmp_21.arg1 = r0; - s.tmp_23 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_23.arg0 = s.arg0; - s.callLocIdx = 268; s.pc = 37; return s.tmp_23; - case 37: - r0 = s.retval; - s.tmp_21.arg2 = r0; - s.callLocIdx = 269; s.pc = 35; return s.tmp_21; - case 35: - r0 = s.retval; - s.tmp_20 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_20); - if (!r0) { step = 11; continue; } - r0 = true; - { step = 17; continue; } - case 11: - case 12: - s.tmp_25 = game_Hitbox_contains__P38602_mk(s); - s.tmp_25.arg0 = s.arg1; - s.tmp_26 = game_Hitbox_right__P38599_mk(s); - s.tmp_26.arg0 = s.arg0; - s.callLocIdx = 270; s.pc = 39; return s.tmp_26; - case 39: - r0 = s.retval; - s.tmp_25.arg1 = r0; - s.tmp_27 = game_Hitbox_top__P38598_mk(s); - s.tmp_27.arg0 = s.arg0; - s.callLocIdx = 271; s.pc = 40; return s.tmp_27; - case 40: - r0 = s.retval; - s.tmp_25.arg2 = r0; - s.callLocIdx = 272; s.pc = 38; return s.tmp_25; - case 38: - r0 = s.retval; - s.tmp_24 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_24); - if (!r0) { step = 13; continue; } - r0 = true; - { step = 17; continue; } - case 13: - case 14: - s.tmp_29 = game_Hitbox_contains__P38602_mk(s); - s.tmp_29.arg0 = s.arg1; - s.tmp_30 = game_Hitbox_right__P38599_mk(s); - s.tmp_30.arg0 = s.arg0; - s.callLocIdx = 273; s.pc = 42; return s.tmp_30; - case 42: - r0 = s.retval; - s.tmp_29.arg1 = r0; - s.tmp_31 = game_Hitbox_bottom__P38600_mk(s); - s.tmp_31.arg0 = s.arg0; - s.callLocIdx = 274; s.pc = 43; return s.tmp_31; - case 43: - r0 = s.retval; - s.tmp_29.arg2 = r0; - s.callLocIdx = 275; s.pc = 41; return s.tmp_29; - case 41: - r0 = s.retval; - s.tmp_28 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_28); - if (!r0) { step = 15; continue; } - r0 = true; - { step = 17; continue; } - case 15: - case 16: - r0 = false; - case 17: + if (!checkSubtype(r0, tiles_TileMapData__C2716_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() } } } -game_Hitbox_overlapsWith__P38604.info = {"start":2515,"length":695,"line":87,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"overlapsWith","argumentNames":["this","other"]} +tiles_TileMapData_scale__P2721.info = {"start":6640,"length":102,"line":226,"column":8,"endLine":229,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this","s"]} -function game_Hitbox_overlapsWith__P38604_mk(s) { +function tiles_TileMapData_scale__P2721_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_Hitbox_overlapsWith__P38604, depth: s.depth + 1, + parent: s, fn: tiles_TileMapData_scale__P2721, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -37453,7 +36588,7 @@ function game_Hitbox_overlapsWith__P38604_mk(s) { -function game_Hitbox_contains__P38602(s) { +function tiles_TileMap_constructor__P2736(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -37466,105 +36601,54 @@ switch (step) { 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__C38596_VT)) failedCast(r0); - s.tmp_1 = r0 = s.arg1; - s.tmp_3 = game_Hitbox_left__P38597_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 230; 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; } + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = (s.arg0).fields["_layer"] = (1); + s.tmp_0 = tiles_TileMap_scale__P2738_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 814; s.pc = 1; return s.tmp_0; case 1: - s.tmp_4 = r0 = s.arg1; - s.tmp_6 = game_Hitbox_right__P38599_mk(s); - s.tmp_6.arg0 = s.arg0; - s.callLocIdx = 231; s.pc = 8; return s.tmp_6; - case 8: r0 = s.retval; - s.tmp_5 = r0; - r0 = (s.tmp_4 <= s.tmp_5); + r0 = pxsim_pxtcore_mkAction(1, tiles_TileMap_inline__P17199); + 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__P2804_mk(s); + s.tmp_3.arg0 = -1; + s.tmp_3.arg1 = s.tmp_0; + s.tmp_3.arg2 = undefined; + s.callLocIdx = 816; s.pc = 2; return s.tmp_3; case 2: - // 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__P38598_mk(s); - s.tmp_10.arg0 = s.arg0; - s.callLocIdx = 232; 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__P38600_mk(s); - s.tmp_14.arg0 = s.arg0; - s.callLocIdx = 233; 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; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["renderable"] = (s.tmp_2); + r0 = undefined; return leave(s, r0) default: oops() } } } -game_Hitbox_contains__P38602.info = {"start":1034,"length":144,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"contains","argumentNames":["this","x","y"]} +tiles_TileMap_constructor__P2736.info = {"start":8927,"length":268,"line":300,"column":8,"endLine":308,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","scale"]} -function game_Hitbox_contains__P38602_mk(s) { +function tiles_TileMap_constructor__P2736_mk(s) { checkStack(s.depth); return { - parent: s, fn: game_Hitbox_contains__P38602, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_constructor__P2736, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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__P38258(s) { +function tiles_TileMap_inline__P17199(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -37577,113 +36661,36 @@ switch (step) { 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___38257; - r0 = pxsim_numops_toBool(s.tmp_0); - if (!r0) { step = 1; continue; } - r0 = s.tmp_0; - { step = 2; continue; } + s.tmp_0 = tiles_TileMap_draw__P4851_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 815; s.pc = 1; return s.tmp_0; case 1: - r0 = pxsim_Array__mk(); - case 2: - // jmp value (already in r0) - s.tmp_1 = r0; - globals._blitArgs___38257 = (s.tmp_1); - s.tmp_0 = r0 = globals._blitArgs___38257; - 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___38257; - 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___38257; - 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___38257; - 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___38257; - 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___38257; - 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___38257; - 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___38257; - 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___38257, 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___38257, 9, s.tmp_0); - r0 = pxsim_ImageMethods._blit(s.arg0, s.arg5, globals._blitArgs___38257); + r0 = s.retval; + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_imageBlit__P38258.info = {"start":4459,"length":642,"line":154,"column":4,"endLine":167,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageBlit","argumentNames":["img","xDst","yDst","wDst","hDst","src","xSrc","ySrc","wSrc","hSrc","transparent","check"]} +tiles_TileMap_inline__P17199.info = {"start":9145,"length":25,"line":306,"column":16,"endLine":306,"endColumn":41,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["t","c"]} -function helpers_imageBlit__P38258_mk(s) { +function tiles_TileMap_inline__P17199_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_imageBlit__P38258, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_inline__P17199, 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__P38868(s) { +function tiles_TileMap_draw__P4851(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -37693,335 +36700,297 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ovx___52551 = undefined; - s.ovy___52556 = undefined; - s.fx___52583 = undefined; - s.c___52590 = undefined; - s.fy___52633 = undefined; - s.c___52640 = undefined; - s.dx___52679 = undefined; - s.dy___52692 = undefined; - s.xStep___52705 = undefined; - s.yStep___52707 = undefined; + s.bitmask___17210 = undefined; + s.offsetX___17216 = undefined; + s.offsetY___17221 = undefined; + s.x0___17226 = undefined; + s.xn___17233 = undefined; + s.y0___17250 = undefined; + s.yn___17257 = undefined; + s.x___17274 = undefined; + s.y___17280 = undefined; + s.index___17286 = undefined; + s.tile___17293 = undefined; + s.x___17329 = undefined; + s.xLine___17335 = undefined; + s.y___17361 = undefined; + s.yLine___17367 = 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__C38855_VT)) failedCast(r0); - s.tmp_0 = ArcadePhysicsEngine_constrain__P38876_mk(s); - s.tmp_0.arg0 = s.arg0; - r0 = s.arg1.fields["_vx"]; - s.tmp_0.arg1 = r0; - s.callLocIdx = 573; s.pc = 25; return s.tmp_0; - case 25: - r0 = s.retval; - s.ovx___52551 = (r0); - s.tmp_0 = ArcadePhysicsEngine_constrain__P38876_mk(s); - s.tmp_0.arg0 = s.arg0; - r0 = s.arg1.fields["_vy"]; - s.tmp_0.arg1 = r0; - s.callLocIdx = 574; s.pc = 26; return s.tmp_0; - case 26: - r0 = s.retval; - s.ovy___52556 = (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"]; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; s.tmp_6 = r0; - r0 = pxsim.Math_.imul(s.tmp_6, s.arg2); + r0 = pxsim_numops_toBoolDecr(s.tmp_6); s.tmp_5 = r0; - r0 = pxsim.Math_.idiv(s.tmp_5, 1000); + r0 = pxsim_Boolean__bang(s.tmp_5); s.tmp_4 = r0; - r0 = (s.tmp_3 + s.tmp_4); + 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).fields["_vx"] = (s.tmp_2); - { step = 8; continue; } - case 1: - r0 = s.arg1.fields["_fx"]; + 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 = 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___52583 = (r0); - r0 = s.arg1.fields["_vx"]; + 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___17210 = (r0); + r0 = s.arg2.fields["drawOffsetX"]; s.tmp_0 = r0; - r0 = (s.tmp_0 - s.fx___52583); - s.c___52590 = (r0); - r0 = (s.c___52590 < 0); + r0 = (s.tmp_0 & s.bitmask___17210); + s.offsetX___17216 = (r0); + r0 = s.arg2.fields["drawOffsetY"]; 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__P37641_mk(s); - s.tmp_3.arg0 = 0; - r0 = s.arg1.fields["_vx"]; + r0 = (s.tmp_0 & s.bitmask___17210); + s.offsetY___17221 = (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 = 834; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.x0___17226 = (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 = (s.tmp_4 + s.fx___52583); - s.tmp_3.arg1 = r0; - s.callLocIdx = 582; s.pc = 27; return s.tmp_3; - case 27: + r0 = pxsim_ImageMethods.width(s.arg1); + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.tmp_3 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_6 = r0; + r0 = (s.tmp_3 >> s.tmp_6); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 837; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.xn___17233 = (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 = 839; s.pc = 26; return s.tmp_0; + case 26: r0 = s.retval; + s.y0___17250 = (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_1).fields["_vx"] = (s.tmp_2); - { step = 5; continue; } - case 2: - r0 = (s.c___52590 > 0); + r0 = (s.tmp_2 + 1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 842; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + s.yn___17257 = (r0); + s.x___17274 = (s.x0___17226); + case 3: + r0 = (s.x___17274 <= s.xn___17233); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.y___17280 = (s.y0___17250); + case 4: + r0 = (s.y___17280 <= s.yn___17257); 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__P37642_mk(s); - s.tmp_3.arg0 = 0; - r0 = s.arg1.fields["_vx"]; - s.tmp_4 = r0; - r0 = (s.tmp_4 - s.fx___52583); - s.tmp_3.arg1 = r0; - s.callLocIdx = 584; s.pc = 28; return s.tmp_3; + if (!r0) { step = 7; continue; } + s.tmp_1 = tiles_TileMapData_getTile__P2722_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.x___17274; + s.tmp_1.arg2 = s.y___17280; + s.callLocIdx = 843; s.pc = 28; return s.tmp_1; case 28: r0 = s.retval; + s.index___17286 = (r0); + s.tmp_0 = tiles_TileMapData_getTileImage__P2725_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___17286; + s.callLocIdx = 844; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + s.tile___17293 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tile___17293); + if (!r0) { step = 5; continue; } + s.tmp_0 = r0 = s.arg1; + s.tmp_1 = r0 = s.tile___17293; + r0 = (s.x___17274 - s.x0___17226); + 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___17216); 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: + r0 = (s.y___17280 - s.y0___17250); + 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___17221); + 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___17280 + 1); + s.y___17280 = (r0); + { step = 4; continue; } case 7: + r0 = (s.x___17274 + 1); + s.x___17274 = (r0); + { step = 3; continue; } 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; } + r0 = pxsim_numops_toBoolDecr(globals.debug___2966); + if (!r0) { step = 21; continue; } + s.x___17329 = (s.x0___17226); case 9: - r0 = s.arg1.fields["_fy"]; + r0 = (s.x___17329 <= s.xn___17233); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 14; continue; } - r0 = s.arg1.fields["_fy"]; + r0 = (s.x___17329 - s.x0___17226); s.tmp_2 = r0; - r0 = pxsim.Math_.imul(s.tmp_2, s.arg2); + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 << s.tmp_3); s.tmp_1 = r0; - r0 = pxsim.Math_.idiv(s.tmp_1, 1000); - s.fy___52633 = (r0); - r0 = s.arg1.fields["_vy"]; + r0 = (s.tmp_1 - s.offsetX___17216); + s.xLine___17335 = (r0); + r0 = (s.xLine___17335 >= 0); s.tmp_0 = r0; - r0 = (s.tmp_0 - s.fy___52633); - s.c___52640 = (r0); - r0 = (s.c___52640 < 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__P37641_mk(s); - s.tmp_3.arg0 = 0; - r0 = s.arg1.fields["_vy"]; - s.tmp_4 = r0; - r0 = (s.tmp_4 + s.fy___52633); - s.tmp_3.arg1 = r0; - s.callLocIdx = 592; s.pc = 29; return s.tmp_3; - case 29: - r0 = s.retval; - s.tmp_2 = r0; - r0 = (s.tmp_1).fields["_vy"] = (s.tmp_2); - { step = 13; continue; } + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 10; continue; } + r0 = s.tmp_0; + { step = 11; continue; } case 10: - r0 = (s.c___52640 > 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__P37642_mk(s); - s.tmp_3.arg0 = 0; - r0 = s.arg1.fields["_vy"]; - s.tmp_4 = r0; - r0 = (s.tmp_4 - s.fy___52633); - s.tmp_3.arg1 = r0; - s.callLocIdx = 594; s.pc = 30; return s.tmp_3; - case 30: - r0 = s.retval; + s.tmp_1 = r0 = s.xLine___17335; + r0 = pxsim_ImageMethods.width(globals.screen___2032); s.tmp_2 = r0; - r0 = (s.tmp_1).fields["_vy"] = (s.tmp_2); - { step = 12; continue; } + r0 = (s.tmp_1 <= s.tmp_2); case 11: - r0 = (s.arg1).fields["_vy"] = (0); + // 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__P1958_mk(s); + s.tmp_4.arg0 = s.arg1; + s.tmp_4.arg1 = s.xLine___17335; + s.tmp_4.arg2 = 0; + s.tmp_4.arg3 = s.xLine___17335; + r0 = pxsim_ImageMethods.height(s.arg1); + s.tmp_4.arg4 = r0; + s.tmp_4.arg5 = 1; + s.callLocIdx = 848; s.pc = 30; return s.tmp_4; + case 30: + r0 = s.retval; case 12: case 13: + r0 = (s.x___17329 + 1); + s.x___17329 = (r0); + { step = 9; continue; } case 14: + s.y___17361 = (s.y0___17250); case 15: - case 16: - s.tmp_0 = r0 = s.arg1; - s.tmp_2 = ArcadePhysicsEngine_constrain__P38876_mk(s); - s.tmp_2.arg0 = s.arg0; - r0 = s.arg1.fields["_vx"]; - s.tmp_2.arg1 = r0; - s.callLocIdx = 595; s.pc = 31; return s.tmp_2; - case 31: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg1; - s.tmp_2 = ArcadePhysicsEngine_constrain__P38876_mk(s); - s.tmp_2.arg0 = s.arg0; - r0 = s.arg1.fields["_vy"]; - s.tmp_2.arg1 = r0; - s.callLocIdx = 596; s.pc = 32; return s.tmp_2; - case 32: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); - r0 = s.arg1.fields["_vx"]; - s.tmp_4 = r0; - r0 = (s.tmp_4 + s.ovx___52551); - 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); + r0 = (s.y___17361 <= s.yn___17257); s.tmp_0 = r0; - r0 = (s.tmp_0 * 256); - s.tmp_5 = r0; - r0 = (s.tmp_5 | 0); - s.dx___52679 = (r0); - r0 = s.arg1.fields["_vy"]; - s.tmp_4 = r0; - r0 = (s.tmp_4 + s.ovy___52556); - s.tmp_3 = r0; - r0 = (s.tmp_3 / 256); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = (s.y___17361 - s.y0___17250); s.tmp_2 = r0; - r0 = (s.tmp_2 * s.arg3); + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 << s.tmp_3); s.tmp_1 = r0; - r0 = (s.tmp_1 / 1000); + r0 = (s.tmp_1 - s.offsetY___17221); + s.yLine___17367 = (r0); + r0 = (s.yLine___17367 >= 0); s.tmp_0 = r0; - r0 = (s.tmp_0 * 256); - s.tmp_5 = r0; - r0 = (s.tmp_5 | 0); - s.dy___52692 = (r0); - s.xStep___52705 = (s.dx___52679); - s.yStep___52707 = (s.dy___52692); + 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___17367; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + s.tmp_2 = r0; + r0 = (s.tmp_1 <= s.tmp_2); case 17: - s.tmp_2 = Fx_abs__P37640_mk(s); - s.tmp_2.arg0 = s.xStep___52705; - s.callLocIdx = 603; s.pc = 33; return s.tmp_2; - case 33: - r0 = s.retval; - s.tmp_1 = r0; - r0 = s.arg0.fields["maxSingleStep"]; + // jmp value (already in r0) s.tmp_3 = r0; - r0 = (s.tmp_1 > s.tmp_3); - s.tmp_0 = r0; - r0 = pxsim_numops_toBool(s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 18; continue; } - r0 = s.tmp_0; - { step = 19; continue; } - case 18: - s.tmp_5 = Fx_abs__P37640_mk(s); - s.tmp_5.arg0 = s.yStep___52707; - s.callLocIdx = 604; s.pc = 34; return s.tmp_5; - case 34: + s.tmp_4 = helpers_imageDrawLine__P1958_mk(s); + s.tmp_4.arg0 = s.arg1; + s.tmp_4.arg1 = 0; + s.tmp_4.arg2 = s.yLine___17367; + r0 = pxsim_ImageMethods.width(s.arg1); + s.tmp_4.arg3 = r0; + s.tmp_4.arg4 = s.yLine___17367; + s.tmp_4.arg5 = 1; + s.callLocIdx = 850; s.pc = 31; return s.tmp_4; + case 31: r0 = s.retval; - s.tmp_4 = r0; - r0 = s.arg0.fields["maxSingleStep"]; - s.tmp_6 = r0; - r0 = (s.tmp_4 > s.tmp_6); + case 18: 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__P37640_mk(s); - s.tmp_10.arg0 = s.xStep___52705; - s.callLocIdx = 605; s.pc = 35; return s.tmp_10; - case 35: - r0 = s.retval; - s.tmp_9 = r0; - r0 = s.arg0.fields["minSingleStep"]; - s.tmp_11 = r0; - r0 = (s.tmp_9 > s.tmp_11); - s.tmp_8 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_8); - if (!r0) { step = 20; continue; } - r0 = pxsim.Math_.idiv(s.xStep___52705, 2); - s.xStep___52705 = (r0); + r0 = (s.y___17361 + 1); + s.y___17361 = (r0); + { step = 15; continue; } case 20: case 21: - s.tmp_2 = Fx_abs__P37640_mk(s); - s.tmp_2.arg0 = s.yStep___52707; - s.callLocIdx = 607; s.pc = 36; return s.tmp_2; - case 36: - r0 = s.retval; - s.tmp_1 = r0; - r0 = s.arg0.fields["minSingleStep"]; - s.tmp_3 = r0; - r0 = (s.tmp_1 > s.tmp_3); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 22; continue; } - r0 = pxsim.Math_.idiv(s.yStep___52707, 2); - s.yStep___52707 = (r0); case 22: case 23: - { step = 17; continue; } - case 24: - r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C38853_VT); - s.tmp_0 = r0; - s.tmp_1 = MovingSprite_constructor__P38854_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___52679; - s.tmp_1.arg5 = s.dy___52692; - s.tmp_1.arg6 = s.xStep___52705; - s.tmp_1.arg7 = s.yStep___52707; - s.callLocIdx = 609; s.pc = 37; return s.tmp_1; - case 37: - r0 = s.retval; - r0 = s.tmp_0; + r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_createMovingSprite__P38868.info = {"start":6933,"length":2805,"line":217,"column":4,"endLine":307,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"createMovingSprite","argumentNames":["this","sprite","dtMs","dt2"]} +tiles_TileMap_draw__P4851.info = {"start":13998,"length":2224,"line":458,"column":8,"endLine":513,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"draw","argumentNames":["this","target","camera"]} -function ArcadePhysicsEngine_createMovingSprite__P38868_mk(s) { +function tiles_TileMap_draw__P4851_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P38868, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_draw__P4851, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -38033,29 +37002,31 @@ function ArcadePhysicsEngine_createMovingSprite__P38868_mk(s) { tmp_7: undefined, tmp_8: undefined, tmp_9: undefined, - tmp_10: undefined, - tmp_11: undefined, - ovx___52551: undefined, - ovy___52556: undefined, - fx___52583: undefined, - c___52590: undefined, - fy___52633: undefined, - c___52640: undefined, - dx___52679: undefined, - dy___52692: undefined, - xStep___52705: undefined, - yStep___52707: undefined, + bitmask___17210: undefined, + offsetX___17216: undefined, + offsetY___17221: undefined, + x0___17226: undefined, + xn___17233: undefined, + y0___17250: undefined, + yn___17257: undefined, + x___17274: undefined, + y___17280: undefined, + index___17286: undefined, + tile___17293: undefined, + x___17329: undefined, + xLine___17335: undefined, + y___17361: undefined, + yLine___17367: undefined, arg0: undefined, arg1: undefined, arg2: undefined, - arg3: undefined, } } -function ArcadePhysicsEngine_constrain__P38876(s) { +function tiles_TileMap_scale__P2738(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38071,30 +37042,31 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - s.tmp_0 = Fx_max__P37642_mk(s); - s.tmp_1 = Fx_min__P37641_mk(s); - r0 = s.arg0.fields["maxVelocity"]; + if (!checkSubtype(r0, tiles_TileMap__C2734_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__P2721_mk(s); + r0 = s.arg0.fields["_map"]; s.tmp_1.arg0 = r0; s.tmp_1.arg1 = s.arg1; - s.callLocIdx = 785; s.pc = 2; return s.tmp_1; - case 2: + s.callLocIdx = 817; s.pc = 3; return s.tmp_1; + case 3: r0 = s.retval; - s.tmp_0.arg0 = r0; - r0 = s.arg0.fields["maxNegativeVelocity"]; - s.tmp_0.arg1 = r0; - s.callLocIdx = 786; s.pc = 1; return s.tmp_0; case 1: - r0 = s.retval; + case 2: + r0 = undefined; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_constrain__P38876.info = {"start":27343,"length":193,"line":761,"column":4,"endLine":769,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"constrain","argumentNames":["this","v"]} +tiles_TileMap_scale__P2738.info = {"start":9270,"length":144,"line":314,"column":8,"endLine":319,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this","s"]} -function ArcadePhysicsEngine_constrain__P38876_mk(s) { +function tiles_TileMap_scale__P2738_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_constrain__P38876, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_scale__P2738, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -38106,7 +37078,7 @@ function ArcadePhysicsEngine_constrain__P38876_mk(s) { -function Fx_compare__P37639(s) { +function tiles_TileMap_data__P2739(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38118,29 +37090,30 @@ switch (step) { 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) + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C2734_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + return leaveAccessor(s, r0) default: oops() } } } -Fx_compare__P37639.info = {"start":1395,"length":106,"line":41,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"compare","argumentNames":["a","b"]} +tiles_TileMap_data__P2739.info = {"start":9424,"length":65,"line":321,"column":8,"endLine":323,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"data","argumentNames":["this"]} +tiles_TileMap_data__P2739.isGetter = true; -function Fx_compare__P37639_mk(s) { +function tiles_TileMap_data__P2739_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_compare__P37639, depth: s.depth + 1, + parent: s, fn: tiles_TileMap_data__P2739, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, - arg1: undefined, } } -function sprites_SpriteMap_insertAABB__P38759(s) { +function Sprite_toString__P2433(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38150,135 +37123,387 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.left___52371 = undefined; - s.top___52374 = undefined; - s.xn___52377 = undefined; - s.yn___52388 = undefined; - s.x___52399 = undefined; - s.y___52404 = 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__C38751_VT)) failedCast(r0); - s.tmp_0 = Sprite_left__P38700_mk(s); - s.tmp_0.arg0 = s.arg1; - s.callLocIdx = 504; s.pc = 5; return s.tmp_0; + if (!checkSubtype(r0, Sprite__C2340_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__P2353_mk(s); + s.tmp_14.arg0 = s.arg0; + s.callLocIdx = 443; s.pc = 2; return s.tmp_14; + case 2: + r0 = s.retval; + s.tmp_13 = r0; + if ((s.tmp_13) && (s.tmp_13).vtable) { + setupResume(s, 3); + pxsim_String__stringConv(s.tmp_13); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_13) + ""; } + case 3: + r0 = s.retval; + s.tmp_12 = r0; + r0 = pxsim_String__concat(s.tmp_7, s.tmp_12); + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_6, ","); + s.tmp_5 = r0; + s.tmp_17 = Sprite_y__P2355_mk(s); + s.tmp_17.arg0 = s.arg0; + s.callLocIdx = 444; s.pc = 4; return s.tmp_17; + case 4: + r0 = s.retval; + s.tmp_16 = r0; + if ((s.tmp_16) && (s.tmp_16).vtable) { + setupResume(s, 5); + pxsim_String__stringConv(s.tmp_16); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_16) + ""; } case 5: r0 = s.retval; - s.left___52371 = (r0); - s.tmp_0 = Sprite_top__P38704_mk(s); - s.tmp_0.arg0 = s.arg1; - s.callLocIdx = 505; s.pc = 6; return s.tmp_0; + 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__P2357_mk(s); + s.tmp_20.arg0 = s.arg0; + s.callLocIdx = 445; s.pc = 6; return s.tmp_20; case 6: r0 = s.retval; - s.top___52374 = (r0); - s.tmp_3 = Sprite_width__P38698_mk(s); - s.tmp_3.arg0 = s.arg1; - s.callLocIdx = 506; s.pc = 7; return s.tmp_3; + 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 = s.arg0.fields["cellWidth"]; - s.tmp_4 = r0; - r0 = (s.tmp_2 + s.tmp_4); + r0 = pxsim_String__concat(s.tmp_2, ","); s.tmp_1 = r0; - r0 = (s.tmp_1 - 1); + s.tmp_23 = Sprite_vy__P2359_mk(s); + s.tmp_23.arg0 = s.arg0; + s.callLocIdx = 446; s.pc = 8; return s.tmp_23; + case 8: + r0 = s.retval; + s.tmp_22 = r0; + if ((s.tmp_22) && (s.tmp_22).vtable) { + setupResume(s, 9); + pxsim_String__stringConv(s.tmp_22); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_22) + ""; } + case 9: + r0 = s.retval; + s.tmp_21 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_21); s.tmp_0 = r0; - r0 = s.arg0.fields["cellWidth"]; + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) + default: oops() +} } } +Sprite_toString__P2433.info = {"start":33951,"length":93,"line":1064,"column":4,"endLine":1066,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"toString","argumentNames":["this"]} + +function Sprite_toString__P2433_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_toString__P2433, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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__P2415(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, 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__C2340_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 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5); - s.xn___52377 = (r0); - s.tmp_3 = Sprite_height__P38699_mk(s); - s.tmp_3.arg0 = s.arg1; - s.callLocIdx = 507; s.pc = 8; return s.tmp_3; + 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__P2428_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 381; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + case 1: + case 2: + case 3: + case 4: + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + s.tmp_2 = Sprite_isOutOfScreen__P2413_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 382; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + s.tmp_4 = Sprite_destroy__P2427_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = undefined; + s.tmp_4.arg2 = undefined; + s.callLocIdx = 383; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + case 7: case 8: + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_1 = sprites_BaseSpriteSayRenderer__C2259_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__C2259_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.update; + s.pc = 14; return s.tmp_1; + case 14: r0 = s.retval; - s.tmp_2 = r0; - r0 = s.arg0.fields["cellHeight"]; - s.tmp_4 = r0; - r0 = (s.tmp_2 + s.tmp_4); + case 9: + case 10: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite___update__P2415.info = {"start":18662,"length":483,"line":628,"column":4,"endLine":642,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]} + +function Sprite___update__P2415_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___update__P2415, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_isOutOfScreen__P2413(s) { +let r0 = s.r0, step = 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___17480 = undefined; + s.oy___17488 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; 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___52388 = (r0); - s.x___52399 = (0); - case 1: - r0 = (s.x___52399 <= s.xn___52377); + r0 = (s.tmp_1 & 512); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - s.y___52404 = (0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 2; continue; } + case 1: + r0 = s.arg1.fields["drawOffsetX"]; case 2: - r0 = (s.y___52404 <= s.yn___52388); + // jmp value (already in r0) + s.tmp_2 = r0; + s.ox___17480 = (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; } - s.tmp_1 = sprites_SpriteMap_insertAtKey__P38758_mk(s); - s.tmp_1.arg0 = s.arg0; - s.tmp_2 = r0 = s.left___52371; - s.tmp_4 = Math_min__P37597_mk(s); - s.tmp_5 = Sprite_width__P38698_mk(s); - s.tmp_5.arg0 = s.arg1; - s.callLocIdx = 508; s.pc = 11; return s.tmp_5; + 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___17488 = (s.tmp_2); + s.tmp_3 = Sprite_right__P2400_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 372; s.pc = 11; return s.tmp_3; case 11: r0 = s.retval; - s.tmp_4.arg0 = r0; - r0 = s.arg0.fields["cellWidth"]; - s.tmp_6 = r0; - r0 = (s.x___52399 * s.tmp_6); - s.tmp_4.arg1 = r0; - s.callLocIdx = 509; s.pc = 10; return s.tmp_4; - case 10: + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.ox___17480); + 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__P2404_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 373; s.pc = 12; return s.tmp_6; + case 12: 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___52374; - s.tmp_9 = Math_min__P37597_mk(s); - s.tmp_10 = Sprite_height__P38699_mk(s); - s.tmp_10.arg0 = s.arg1; - s.callLocIdx = 510; s.pc = 13; return s.tmp_10; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.oy___17488); + 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__P2398_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 374; 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___52404 * s.tmp_11); - s.tmp_9.arg1 = r0; - s.callLocIdx = 511; s.pc = 12; return s.tmp_9; - case 12: - r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 - s.ox___17480); s.tmp_8 = r0; - r0 = (s.tmp_7 + s.tmp_8); - s.tmp_1.arg2 = r0; - s.tmp_1.arg3 = s.arg1; - s.callLocIdx = 512; s.pc = 9; return s.tmp_1; + r0 = pxsim_ImageMethods.width(globals.screen___2032); + 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__P2402_mk(s); + s.tmp_15.arg0 = s.arg0; + s.callLocIdx = 375; s.pc = 14; return s.tmp_15; + case 14: r0 = s.retval; - r0 = (s.y___52404 + 1); - s.y___52404 = (r0); - { step = 2; continue; } - case 3: - r0 = (s.x___52399 + 1); - s.x___52399 = (r0); - { step = 1; continue; } - case 4: - r0 = undefined; + s.tmp_14 = r0; + r0 = (s.tmp_14 - s.oy___17488); + s.tmp_13 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___2032); + 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() } } } -sprites_SpriteMap_insertAABB__P38759.info = {"start":3184,"length":521,"line":91,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAABB","argumentNames":["this","sprite"]} +Sprite_isOutOfScreen__P2413.info = {"start":17830,"length":358,"line":607,"column":4,"endLine":611,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isOutOfScreen","argumentNames":["this","camera"]} -function sprites_SpriteMap_insertAABB__P38759_mk(s) { +function Sprite_isOutOfScreen__P2413_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_insertAABB__P38759, depth: s.depth + 1, + parent: s, fn: Sprite_isOutOfScreen__P2413, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -38292,12 +37517,14 @@ function sprites_SpriteMap_insertAABB__P38759_mk(s) { tmp_9: undefined, tmp_10: undefined, tmp_11: undefined, - left___52371: undefined, - top___52374: undefined, - xn___52377: undefined, - yn___52388: undefined, - x___52399: undefined, - y___52404: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + ox___17480: undefined, + oy___17488: undefined, arg0: undefined, arg1: undefined, } } @@ -38306,7 +37533,7 @@ function sprites_SpriteMap_insertAABB__P38759_mk(s) { -function sprites_SpriteMap_insertAtKey__P38758(s) { +function sprites_BaseSpriteSayRenderer_update__P2262(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38316,8 +37543,6 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.k___52439 = undefined; - s.bucket___52444 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); @@ -38326,61 +37551,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_SpriteMap__C38751_VT)) failedCast(r0); - s.tmp_0 = sprites_SpriteMap_key__P38757_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.arg1; - s.tmp_0.arg2 = s.arg2; - s.callLocIdx = 503; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - s.k___52439 = (r0); - r0 = s.arg0.fields["buckets"]; - s.tmp_0 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.k___52439); - s.bucket___52444 = (r0); - r0 = pxsim_numops_toBoolDecr(s.bucket___52444); - 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___52439; - r0 = pxsim_Array__mk(); - s.tmp_4 = r0; - r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4); - s.bucket___52444 = (s.tmp_4); - case 1: - case 2: - r0 = pxsim_Array_.indexOf(s.bucket___52444, 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___52444, s.arg3); - case 3: - case 4: + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C2259_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_SpriteMap_insertAtKey__P38758.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"]} +sprites_BaseSpriteSayRenderer_update__P2262.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_SpriteMap_insertAtKey__P38758_mk(s) { +function sprites_BaseSpriteSayRenderer_update__P2262_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_insertAtKey__P38758, depth: s.depth + 1, + parent: s, fn: sprites_BaseSpriteSayRenderer_update__P2262, depth: s.depth + 1, pc: 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___52439: undefined, - bucket___52444: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -38391,7 +37573,7 @@ function sprites_SpriteMap_insertAtKey__P38758_mk(s) { -function sprites_SpriteMap_clear__P38756(s) { +function Sprite_data__P2376(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38403,35 +37585,32 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_SpriteMap__C38751_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); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = (s.arg0).fields["_data"] = (s.arg1); r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_SpriteMap_clear__P38756.info = {"start":2532,"length":50,"line":72,"column":8,"endLine":74,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"clear","argumentNames":["this"]} +Sprite_data__P2376.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 sprites_SpriteMap_clear__P38756_mk(s) { +function Sprite_data__P2376_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_clear__P38756, depth: s.depth + 1, + parent: s, fn: Sprite_data__P2376, 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_SpriteMap_resizeBuckets__P38755(s) { +function Sprite_data__P2375(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38441,179 +37620,51 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.maxWidth___52474 = undefined; - s.maxHeight___52475 = undefined; - s.sprite___52477 = undefined; - s.unnamed254___U3 = undefined; - s.unnamed255___U4 = undefined; - s.tMap___52493 = undefined; - s.areaWidth___52497 = undefined; - s.areaHeight___52504 = 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__C38751_VT)) failedCast(r0); - s.maxWidth___52474 = (0); - s.maxHeight___52475 = (0); - s.sprite___52477 = (undefined); - s.unnamed254___U3 = (s.arg1); - s.unnamed255___U4 = (0); - case 1: - s.tmp_0 = r0 = s.unnamed255___U4; - r0 = pxsim_Array__length(s.unnamed254___U3); - s.tmp_1 = r0; - r0 = (s.tmp_0 < s.tmp_1); - if (!r0) { step = 6; continue; } - r0 = pxsim_Array__getAt(s.unnamed254___U3, s.unnamed255___U4); - s.sprite___52477 = (r0); - s.tmp_4 = Sprite_width__P38698_mk(s); - s.tmp_4.arg0 = s.sprite___52477; - s.callLocIdx = 492; s.pc = 11; return s.tmp_4; - case 11: - r0 = s.retval; - s.tmp_3 = r0; - r0 = (s.tmp_3 > s.maxWidth___52474); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + r0 = s.arg0.fields["_data"]; s.tmp_2 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_2); - if (!r0) { step = 2; continue; } - s.tmp_5 = Sprite_width__P38698_mk(s); - s.tmp_5.arg0 = s.sprite___52477; - s.callLocIdx = 493; s.pc = 12; return s.tmp_5; - case 12: - r0 = s.retval; - s.maxWidth___52474 = (r0); - case 2: - case 3: - s.tmp_2 = Sprite_height__P38699_mk(s); - s.tmp_2.arg0 = s.sprite___52477; - s.callLocIdx = 494; s.pc = 13; return s.tmp_2; - case 13: - r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_1 > s.maxHeight___52475); + r0 = pxsim_Boolean__bang(s.tmp_1); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 4; continue; } - s.tmp_3 = Sprite_height__P38699_mk(s); - s.tmp_3.arg0 = s.sprite___52477; - s.callLocIdx = 495; s.pc = 14; return s.tmp_3; - case 14: - r0 = s.retval; - s.maxHeight___52475 = (r0); - case 4: - case 5: - r0 = (s.unnamed255___U4 + 1); - s.unnamed255___U4 = (r0); - { step = 1; continue; } - case 6: - s.unnamed254___U3 = (undefined); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 496; s.pc = 15; return s.tmp_0; - case 15: - r0 = s.retval; - r0 = r0.fields["tileMap"]; - s.tMap___52493 = (r0); - r0 = pxsim_numops_toBoolDecr(s.tMap___52493); - if (!r0) { step = 7; continue; } - s.tmp_0 = tiles_TileMap_areaWidth__P39096_mk(s); - s.tmp_0.arg0 = s.tMap___52493; - s.callLocIdx = 497; s.pc = 16; return s.tmp_0; - case 16: - r0 = s.retval; - { step = 8; continue; } - case 7: - r0 = pxsim_ImageMethods.width(globals.screen___38324); - case 8: - // jmp value (already in r0) - s.tmp_1 = r0; - s.areaWidth___52497 = (s.tmp_1); - r0 = pxsim_numops_toBoolDecr(s.tMap___52493); - if (!r0) { step = 9; continue; } - s.tmp_0 = tiles_TileMap_areaHeight__P39097_mk(s); - s.tmp_0.arg0 = s.tMap___52493; - s.callLocIdx = 498; s.pc = 17; return s.tmp_0; - case 17: - r0 = s.retval; - { step = 10; continue; } - case 9: - r0 = pxsim_ImageMethods.height(globals.screen___38324); - case 10: - // jmp value (already in r0) - s.tmp_1 = r0; - s.areaHeight___52504 = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = Math_clamp__P37593_mk(s); - s.tmp_2.arg0 = 8; - r0 = (s.areaWidth___52497 >> 2); - s.tmp_2.arg1 = r0; - r0 = (s.maxWidth___52474 * 2); - s.tmp_2.arg2 = r0; - s.callLocIdx = 499; s.pc = 18; return s.tmp_2; - case 18: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["cellWidth"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - s.tmp_2 = Math_clamp__P37593_mk(s); - s.tmp_2.arg0 = 8; - r0 = (s.areaHeight___52504 >> 2); - s.tmp_2.arg1 = r0; - r0 = (s.maxHeight___52475 * 2); - s.tmp_2.arg2 = r0; - s.callLocIdx = 500; s.pc = 19; return s.tmp_2; - case 19: - r0 = s.retval; - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["cellHeight"] = (s.tmp_1); - s.tmp_0 = r0 = s.arg0; - r0 = s.arg0.fields["cellHeight"]; - s.tmp_2 = r0; - r0 = pxsim.Math_.idiv(s.areaHeight___52504, 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___52497, s.tmp_2); - s.tmp_1 = r0; - r0 = (s.tmp_0).fields["columnCount"] = (s.tmp_1); - r0 = undefined; - return leave(s, r0) + 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() } } } -sprites_SpriteMap_resizeBuckets__P38755.info = {"start":1696,"length":826,"line":52,"column":8,"endLine":70,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"resizeBuckets","argumentNames":["this","sprites"]} +Sprite_data__P2375.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__P2375.isGetter = true; -function sprites_SpriteMap_resizeBuckets__P38755_mk(s) { +function Sprite_data__P2375_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_resizeBuckets__P38755, depth: s.depth + 1, + parent: s, fn: Sprite_data__P2375, depth: s.depth + 1, pc: 0, retval: undefined, 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___52474: undefined, - maxHeight___52475: undefined, - sprite___52477: undefined, - unnamed254___U3: undefined, - unnamed255___U4: undefined, - tMap___52493: undefined, - areaWidth___52497: undefined, - areaHeight___52504: undefined, arg0: undefined, - arg1: undefined, } } -function Sprite_clearObstacles__P38726(s) { +function sprites_BaseSprite___update__P2102(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38625,35 +37676,33 @@ switch (step) { 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__C38662_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); + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -Sprite_clearObstacles__P38726.info = {"start":24772,"length":54,"line":811,"column":4,"endLine":813,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"clearObstacles","argumentNames":["this"]} +sprites_BaseSprite___update__P2102.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 Sprite_clearObstacles__P38726_mk(s) { +function sprites_BaseSprite___update__P2102_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_clearObstacles__P38726, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite___update__P2102, 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 Fx_idiv__P37638(s) { +function sprites_BaseSprite___draw__P2100(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38668,17 +37717,42 @@ switch (step) { s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim.Math_.idiv(s.arg0, s.arg1); + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); + s.tmp_1 = sprites_BaseSprite__C2094_v0_1_mk(s); + s.tmp_1.arg0 = s.arg0; + if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C2094_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__C2094_v2_2_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C2094_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() } } } -Fx_idiv__P37638.info = {"start":1279,"length":111,"line":38,"column":4,"endLine":40,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"idiv","argumentNames":["a","b"]} +sprites_BaseSprite___draw__P2100.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 Fx_idiv__P37638_mk(s) { +function sprites_BaseSprite___draw__P2100_mk(s) { checkStack(s.depth); return { - parent: s, fn: Fx_idiv__P37638, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite___draw__P2100, 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, } } @@ -38687,7 +37761,7 @@ function Fx_idiv__P37638_mk(s) { -function helpers_arrayMap__P37571(s) { +function sprites_BaseSprite___drawCore__P2101(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38697,58 +37771,24 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.res___52769 = undefined; - s.len___52771 = undefined; - s.i___52774 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } - r0 = pxsim_Array__mk(); - s.res___52769 = (r0); - r0 = pxsim_Array__length(s.arg0); - s.len___52771 = (r0); - s.i___52774 = (0); - case 1: - r0 = (s.i___52774 < s.len___52771); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 2; continue; } - s.tmp_1 = r0 = s.res___52769; - s.tmp_3 = lambda_3_mk(s); - s.tmp_3.argL = s.arg1; - r0 = pxsim_Array__getAt(s.arg0, s.i___52774); - s.tmp_3.arg0 = r0; - s.tmp_3.arg1 = s.i___52774; - 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___52774 + 1); - s.i___52774 = (r0); - { step = 1; continue; } - case 2: - r0 = s.res___52769; + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); + r0 = undefined; return leave(s, r0) default: oops() } } } -helpers_arrayMap__P37571.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"]} +sprites_BaseSprite___drawCore__P2101.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 helpers_arrayMap__P37571_mk(s) { +function sprites_BaseSprite___drawCore__P2101_mk(s) { checkStack(s.depth); return { - parent: s, fn: helpers_arrayMap__P37571, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite___drawCore__P2101, depth: s.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___52769: undefined, - len___52771: undefined, - i___52774: undefined, arg0: undefined, arg1: undefined, } } @@ -38757,7 +37797,7 @@ function helpers_arrayMap__P37571_mk(s) { -function ArcadePhysicsEngine_draw__P38866(s) { +function sprites_BaseSprite___visible__P2097(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38772,25 +37812,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - s.tmp_0 = sprites_SpriteMap_draw__P38754_mk(s); - r0 = s.arg0.fields["map"]; - s.tmp_0.arg0 = r0; - s.callLocIdx = 538; s.pc = 1; return s.tmp_0; - case 1: - r0 = s.retval; - r0 = undefined; + if (!checkSubtype(r0, sprites_BaseSprite__C2094_VT)) failedCast(r0); + r0 = true; return leave(s, r0) default: oops() } } } -ArcadePhysicsEngine_draw__P38866.info = {"start":2777,"length":39,"line":108,"column":4,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]} +sprites_BaseSprite___visible__P2097.info = {"start":524,"length":57,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__visible","argumentNames":["this"]} -function ArcadePhysicsEngine_draw__P38866_mk(s) { +function sprites_BaseSprite___visible__P2097_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_draw__P38866, depth: s.depth + 1, + parent: s, fn: sprites_BaseSprite___visible__P2097, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, - tmp_0: undefined, arg0: undefined, } } @@ -38798,7 +37831,7 @@ function ArcadePhysicsEngine_draw__P38866_mk(s) { -function sprites_SpriteMap_draw__P38754(s) { +function scene_BackgroundLayer_constructor__P2685(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38808,116 +37841,83 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.x___52795 = undefined; - s.y___52801 = undefined; - s.left___52807 = undefined; - s.top___52812 = undefined; - s.k___52817 = undefined; - s.b___52822 = 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__C38751_VT)) failedCast(r0); - s.x___52795 = (0); - case 1: - r0 = s.arg0.fields["columnCount"]; - s.tmp_1 = r0; - r0 = (s.x___52795 < s.tmp_1); - s.tmp_0 = r0; - r0 = pxsim_numops_toBoolDecr(s.tmp_0); - if (!r0) { step = 8; continue; } - s.y___52801 = (0); - case 2: - r0 = s.arg0.fields["rowCount"]; - s.tmp_1 = r0; - r0 = (s.y___52801 < 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___52795 * s.tmp_2); - s.left___52807 = (r0); - r0 = s.arg0.fields["cellHeight"]; - s.tmp_0 = r0; - r0 = (s.y___52801 * s.tmp_0); - s.top___52812 = (r0); - s.tmp_0 = sprites_SpriteMap_key__P38757_mk(s); - s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.left___52807; - s.tmp_0.arg2 = s.top___52812; - s.callLocIdx = 490; s.pc = 9; return s.tmp_0; - case 9: + if (!checkSubtype(r0, scene_BackgroundLayer__C2678_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 = 794; s.pc = 7; return s.tmp_2; + case 7: r0 = s.retval; - s.k___52817 = (r0); - r0 = s.arg0.fields["buckets"]; - s.tmp_0 = r0; - r0 = pxsim_Array__getAt(s.tmp_0, s.k___52817); - s.b___52822 = (r0); - s.tmp_0 = r0 = s.b___52822; - r0 = pxsim_numops_toBool(s.tmp_0); + 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 = 4; continue; } + { 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 = pxsim_Array__length(s.b___52822); + 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: - // 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__P38264_mk(s); - s.tmp_2.arg0 = globals.screen___38324; - s.tmp_2.arg1 = s.left___52807; - s.tmp_2.arg2 = s.top___52812; - r0 = s.arg0.fields["cellWidth"]; - s.tmp_2.arg3 = r0; - r0 = s.arg0.fields["cellHeight"]; - s.tmp_2.arg4 = r0; - s.tmp_2.arg5 = 5; - s.callLocIdx = 491; s.pc = 10; return s.tmp_2; - case 10: - r0 = s.retval; case 5: + 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 = (s.y___52801 + 1); - s.y___52801 = (r0); - { step = 2; continue; } - case 7: - r0 = (s.x___52795 + 1); - s.x___52795 = (r0); - { step = 1; continue; } - case 8: r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_SpriteMap_draw__P38754.info = {"start":1122,"length":496,"line":36,"column":8,"endLine":47,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"draw","argumentNames":["this"]} +scene_BackgroundLayer_constructor__P2685.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 sprites_SpriteMap_draw__P38754_mk(s) { +function scene_BackgroundLayer_constructor__P2685_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_SpriteMap_draw__P38754, depth: s.depth + 1, + parent: s, fn: scene_BackgroundLayer_constructor__P2685, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, - x___52795: undefined, - y___52801: undefined, - left___52807: undefined, - top___52812: undefined, - k___52817: undefined, - b___52822: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function ArcadePhysicsEngine_removeSprite__P38865(s) { +function scene_Camera_y__P2790(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38929,35 +37929,39 @@ switch (step) { if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - r0 = s.arg0.fields["sprites"]; + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetY"]; s.tmp_0 = r0; - r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg1); - r0 = undefined; - return leave(s, r0) + r0 = pxsim_ImageMethods.height(globals.screen___2032); + 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() } } } -ArcadePhysicsEngine_removeSprite__P38865.info = {"start":2691,"length":80,"line":104,"column":4,"endLine":106,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]} +scene_Camera_y__P2790.info = {"start":1536,"length":75,"line":51,"column":8,"endLine":53,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"y","argumentNames":["this"]} +scene_Camera_y__P2790.isGetter = true; -function ArcadePhysicsEngine_removeSprite__P38865_mk(s) { +function scene_Camera_y__P2790_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_removeSprite__P38865, depth: s.depth + 1, + parent: s, fn: scene_Camera_y__P2790, 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_addSprite__P38864(s) { +function scene_Camera_x__P2789(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -38967,75 +37971,41 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.tm___52859 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); - s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, ArcadePhysicsEngine__C38855_VT)) failedCast(r0); - r0 = s.arg0.fields["sprites"]; + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetX"]; s.tmp_0 = r0; - r0 = pxsim_Array__push(s.tmp_0, s.arg1); - s.tmp_0 = game_currentScene__P38454_mk(s); - s.callLocIdx = 536; s.pc = 5; return s.tmp_0; - case 5: - r0 = s.retval; - r0 = r0.fields["tileMap"]; - s.tm___52859 = (r0); - s.tmp_0 = r0 = s.tm___52859; - 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__P39113_mk(s); - s.tmp_1.arg0 = s.tm___52859; - s.tmp_1.arg1 = s.arg1; - s.callLocIdx = 537; s.pc = 6; return s.tmp_1; - case 6: - r0 = s.retval; - case 2: - // jmp value (already in r0) + r0 = pxsim_ImageMethods.width(globals.screen___2032); 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) + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) default: oops() } } } -ArcadePhysicsEngine_addSprite__P38864.info = {"start":2465,"length":220,"line":96,"column":4,"endLine":102,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]} +scene_Camera_x__P2789.info = {"start":1453,"length":74,"line":48,"column":8,"endLine":50,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"x","argumentNames":["this"]} +scene_Camera_x__P2789.isGetter = true; -function ArcadePhysicsEngine_addSprite__P38864_mk(s) { +function scene_Camera_x__P2789_mk(s) { checkStack(s.depth); return { - parent: s, fn: ArcadePhysicsEngine_addSprite__P38864, depth: s.depth + 1, + parent: s, fn: scene_Camera_x__P2789, depth: s.depth + 1, pc: 0, retval: undefined, 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___52859: undefined, arg0: undefined, - arg1: undefined, } } -function scene_Scene_data__P38448(s) { +function scene_Scene_data__P2867(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39050,18 +38020,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Scene__C38446_VT)) failedCast(r0); + if (!checkSubtype(r0, scene_Scene__C2842_VT)) failedCast(r0); r0 = s.arg0.fields["_data"]; return leaveAccessor(s, r0) default: oops() } } } -scene_Scene_data__P38448.info = {"start":7014,"length":53,"line":189,"column":8,"endLine":191,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"data","argumentNames":["this"]} -scene_Scene_data__P38448.isGetter = true; +scene_Scene_data__P2867.info = {"start":7014,"length":53,"line":189,"column":8,"endLine":191,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"data","argumentNames":["this"]} +scene_Scene_data__P2867.isGetter = true; -function scene_Scene_data__P38448_mk(s) { +function scene_Scene_data__P2867_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Scene_data__P38448, depth: s.depth + 1, + parent: s, fn: scene_Scene_data__P2867, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } @@ -39070,7 +38040,7 @@ function scene_Scene_data__P38448_mk(s) { -function controller_AnyButton_isPressed__P38574(s) { +function controller_AnyButton_isPressed__P4712(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39080,36 +38050,36 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ctrl___53336 = undefined; - s.b___53340 = undefined; - s.unnamed246___U2 = undefined; - s.unnamed247___U3 = undefined; + s.ctrl___17610 = undefined; + s.b___17614 = 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__C38556_VT)) failedCast(r0); - s.tmp_0 = controller__player1__P38519_mk(s); + if (!checkSubtype(r0, controller_AnyButton__C4704_VT)) failedCast(r0); + s.tmp_0 = controller__player1__P2128_mk(s); s.callLocIdx = 197; s.pc = 6; return s.tmp_0; case 6: r0 = s.retval; - s.ctrl___53336 = (r0); - s.b___53340 = (undefined); - r0 = s.ctrl___53336.fields["buttons"]; - s.unnamed246___U2 = (r0); - s.unnamed247___U3 = (0); + s.ctrl___17610 = (r0); + s.b___17614 = (undefined); + r0 = s.ctrl___17610.fields["buttons"]; + s.unnamed62___U2 = (r0); + s.unnamed63___U3 = (0); case 1: - s.tmp_0 = r0 = s.unnamed247___U3; - r0 = pxsim_Array__length(s.unnamed246___U2); + 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.unnamed246___U2, s.unnamed247___U3); - s.b___53340 = (r0); - s.tmp_3 = controller_Button__C38558_v0_1_mk(s); - s.tmp_3.arg0 = s.b___53340; - if (!checkSubtype(s.tmp_3.arg0, controller_Button__C38558_VT)) failedCast(s.tmp_3.arg0); + r0 = pxsim_Array__getAt(s.unnamed62___U2, s.unnamed63___U3); + s.b___17614 = (r0); + s.tmp_3 = controller_Button__C2189_v0_1_mk(s); + s.tmp_3.arg0 = s.b___17614; + if (!checkSubtype(s.tmp_3.arg0, controller_Button__C2189_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: @@ -39121,107 +38091,31 @@ switch (step) { { step = 5; continue; } case 2: case 3: - r0 = (s.unnamed247___U3 + 1); - s.unnamed247___U3 = (r0); + r0 = (s.unnamed63___U3 + 1); + s.unnamed63___U3 = (r0); { step = 1; continue; } case 4: - s.unnamed246___U2 = (undefined); + s.unnamed62___U2 = (undefined); r0 = false; case 5: return leave(s, r0) default: oops() } } } -controller_AnyButton_isPressed__P38574.info = {"start":15724,"length":202,"line":469,"column":8,"endLine":476,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"isPressed","argumentNames":["this"]} - -function controller_AnyButton_isPressed__P38574_mk(s) { - checkStack(s.depth); - return { - parent: s, fn: controller_AnyButton_isPressed__P38574, depth: s.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___53336: undefined, - b___53340: undefined, - unnamed246___U2: undefined, - unnamed247___U3: undefined, - arg0: undefined, -} } - - - - - -function controller_Button_toString__P38560(s) { -let r0 = s.r0, step = s.pc; -s.pc = -1; - - -while (true) { -if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.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__C38558_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__P38560.info = {"start":1894,"length":100,"line":73,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"toString","argumentNames":["this"]} +controller_AnyButton_isPressed__P4712.info = {"start":15724,"length":202,"line":469,"column":8,"endLine":476,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"isPressed","argumentNames":["this"]} -function controller_Button_toString__P38560_mk(s) { +function controller_AnyButton_isPressed__P4712_mk(s) { checkStack(s.depth); return { - parent: s, fn: controller_Button_toString__P38560, depth: s.depth + 1, + parent: s, fn: controller_AnyButton_isPressed__P4712, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, - tmp_4: undefined, - tmp_5: undefined, - tmp_6: undefined, + ctrl___17610: undefined, + b___17614: undefined, + unnamed62___U2: undefined, + unnamed63___U3: undefined, arg0: undefined, } } @@ -39229,7 +38123,7 @@ function controller_Button_toString__P38560_mk(s) { -function tiles_Location_top__P39054(s) { +function controller_Button_toString__P2194(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39244,33 +38138,60 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - r0 = s.arg0.fields["_row"]; + if (!checkSubtype(r0, controller_Button__C2189_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; s.tmp_0 = r0; - s.tmp_3 = tiles_Location_tileMap__P39048_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 804; s.pc = 1; return s.tmp_3; + 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; - r0 = s.tmp_2.fields["_scale"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 << s.tmp_1); - return leaveAccessor(s, 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() } } } -tiles_Location_top__P39054.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__P39054.isGetter = true; +controller_Button_toString__P2194.info = {"start":1894,"length":100,"line":73,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"toString","argumentNames":["this"]} -function tiles_Location_top__P39054_mk(s) { +function controller_Button_toString__P2194_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_top__P39054, depth: s.depth + 1, + parent: s, fn: controller_Button_toString__P2194, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: 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, } } @@ -39278,7 +38199,7 @@ function tiles_Location_top__P39054_mk(s) { -function tiles_Location_left__P39053(s) { +function sprites_BaseSpriteSayRenderer_constructor__P2260(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39290,36 +38211,68 @@ switch (step) { 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__C39047_VT)) failedCast(r0); - r0 = s.arg0.fields["_col"]; + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C2259_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__P2260.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__P2260_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_constructor__P2260, 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__P2507(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_StaticObstacle__C2497_VT)) failedCast(r0); + r0 = s.arg0.fields["image"]; s.tmp_0 = r0; - s.tmp_3 = tiles_Location_tileMap__P39048_mk(s); - s.tmp_3.arg0 = s.arg0; - s.callLocIdx = 802; s.pc = 1; return s.tmp_3; - case 1: - r0 = s.retval; - s.tmp_2 = r0; - r0 = s.tmp_2.fields["_scale"]; - s.tmp_1 = r0; - r0 = (s.tmp_0 << s.tmp_1); + r0 = pxsim_ImageMethods.width(s.tmp_0); return leaveAccessor(s, r0) default: oops() } } } -tiles_Location_left__P39053.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__P39053.isGetter = true; +sprites_StaticObstacle_width__P2507.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__P2507.isGetter = true; -function tiles_Location_left__P39053_mk(s) { +function sprites_StaticObstacle_width__P2507_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_left__P39053, depth: s.depth + 1, + parent: s, fn: sprites_StaticObstacle_width__P2507, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, arg0: undefined, } } @@ -39327,7 +38280,7 @@ function tiles_Location_left__P39053_mk(s) { -function tiles_Location_y__P39052(s) { +function sprites_StaticObstacle_height__P2506(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39337,46 +38290,27 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scale___53396 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - s.tmp_1 = tiles_Location_tileMap__P39048_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 800; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - s.tmp_0 = r0; - r0 = s.tmp_0.fields["_scale"]; - s.scale___53396 = (r0); - r0 = s.arg0.fields["_row"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 << s.scale___53396); + if (!checkSubtype(r0, sprites_StaticObstacle__C2497_VT)) failedCast(r0); + r0 = s.arg0.fields["image"]; s.tmp_0 = r0; - r0 = (s.scale___53396 - 1); - s.tmp_3 = r0; - r0 = (1 << s.tmp_3); - s.tmp_2 = r0; - r0 = (s.tmp_0 + s.tmp_2); + r0 = pxsim_ImageMethods.height(s.tmp_0); return leaveAccessor(s, r0) default: oops() } } } -tiles_Location_y__P39052.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__P39052.isGetter = true; +sprites_StaticObstacle_height__P2506.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__P2506.isGetter = true; -function tiles_Location_y__P39052_mk(s) { +function sprites_StaticObstacle_height__P2506_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_y__P39052, depth: s.depth + 1, + parent: s, fn: sprites_StaticObstacle_height__P2506, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, - tmp_1: undefined, - tmp_2: undefined, - tmp_3: undefined, - scale___53396: undefined, arg0: undefined, } } @@ -39384,7 +38318,7 @@ function tiles_Location_y__P39052_mk(s) { -function tiles_Location_x__P39051(s) { +function sprites_StaticObstacle_y__P2505(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39394,46 +38328,36 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.scale___53412 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, tiles_Location__C39047_VT)) failedCast(r0); - s.tmp_1 = tiles_Location_tileMap__P39048_mk(s); - s.tmp_1.arg0 = s.arg0; - s.callLocIdx = 798; s.pc = 1; return s.tmp_1; - case 1: - r0 = s.retval; - s.tmp_0 = r0; - r0 = s.tmp_0.fields["_scale"]; - s.scale___53412 = (r0); - r0 = s.arg0.fields["_col"]; - s.tmp_1 = r0; - r0 = (s.tmp_1 << s.scale___53412); + if (!checkSubtype(r0, sprites_StaticObstacle__C2497_VT)) failedCast(r0); + r0 = s.arg0.fields["top"]; s.tmp_0 = r0; - r0 = (s.scale___53412 - 1); + r0 = s.arg0.fields["image"]; s.tmp_3 = r0; - r0 = (1 << s.tmp_3); + r0 = pxsim_ImageMethods.height(s.tmp_3); s.tmp_2 = r0; - r0 = (s.tmp_0 + s.tmp_2); + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); return leaveAccessor(s, r0) default: oops() } } } -tiles_Location_x__P39051.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__P39051.isGetter = true; +sprites_StaticObstacle_y__P2505.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__P2505.isGetter = true; -function tiles_Location_x__P39051_mk(s) { +function sprites_StaticObstacle_y__P2505_mk(s) { checkStack(s.depth); return { - parent: s, fn: tiles_Location_x__P39051, depth: s.depth + 1, + parent: s, fn: sprites_StaticObstacle_y__P2505, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, - scale___53412: undefined, arg0: undefined, } } @@ -39441,7 +38365,7 @@ function tiles_Location_x__P39051_mk(s) { -function sprites_StaticObstacle_width__P38800(s) { +function sprites_StaticObstacle_x__P2504(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39456,22 +38380,31 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_StaticObstacle__C38796_VT)) failedCast(r0); - r0 = s.arg0.fields["image"]; + if (!checkSubtype(r0, sprites_StaticObstacle__C2497_VT)) failedCast(r0); + r0 = s.arg0.fields["left"]; s.tmp_0 = r0; - r0 = pxsim_ImageMethods.width(s.tmp_0); + 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_width__P38800.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__P38800.isGetter = true; +sprites_StaticObstacle_x__P2504.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__P2504.isGetter = true; -function sprites_StaticObstacle_width__P38800_mk(s) { +function sprites_StaticObstacle_x__P2504_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_StaticObstacle_width__P38800, depth: s.depth + 1, + parent: s, fn: sprites_StaticObstacle_x__P2504, depth: s.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, } } @@ -39479,7 +38412,7 @@ function sprites_StaticObstacle_width__P38800_mk(s) { -function sprites_StaticObstacle_height__P38799(s) { +function tiles_Location_top__P2700(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39494,22 +38427,33 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_StaticObstacle__C38796_VT)) failedCast(r0); - r0 = s.arg0.fields["image"]; + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + r0 = s.arg0.fields["_row"]; s.tmp_0 = r0; - r0 = pxsim_ImageMethods.height(s.tmp_0); + s.tmp_3 = tiles_Location_tileMap__P2694_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 804; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.tmp_2.fields["_scale"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 << s.tmp_1); return leaveAccessor(s, r0) default: oops() } } } -sprites_StaticObstacle_height__P38799.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__P38799.isGetter = true; +tiles_Location_top__P2700.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__P2700.isGetter = true; -function sprites_StaticObstacle_height__P38799_mk(s) { +function tiles_Location_top__P2700_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_StaticObstacle_height__P38799, depth: s.depth + 1, + parent: s, fn: tiles_Location_top__P2700, depth: s.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, } } @@ -39517,7 +38461,7 @@ function sprites_StaticObstacle_height__P38799_mk(s) { -function sprites_StaticObstacle_y__P38798(s) { +function tiles_Location_left__P2699(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39532,26 +38476,28 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_StaticObstacle__C38796_VT)) failedCast(r0); - r0 = s.arg0.fields["top"]; + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + r0 = s.arg0.fields["_col"]; s.tmp_0 = r0; - r0 = s.arg0.fields["image"]; - s.tmp_3 = r0; - r0 = pxsim_ImageMethods.height(s.tmp_3); + s.tmp_3 = tiles_Location_tileMap__P2694_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 802; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); + r0 = s.tmp_2.fields["_scale"]; s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); + r0 = (s.tmp_0 << s.tmp_1); return leaveAccessor(s, r0) default: oops() } } } -sprites_StaticObstacle_y__P38798.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__P38798.isGetter = true; +tiles_Location_left__P2699.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__P2699.isGetter = true; -function sprites_StaticObstacle_y__P38798_mk(s) { +function tiles_Location_left__P2699_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_StaticObstacle_y__P38798, depth: s.depth + 1, + parent: s, fn: tiles_Location_left__P2699, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -39564,7 +38510,7 @@ function sprites_StaticObstacle_y__P38798_mk(s) { -function sprites_StaticObstacle_x__P38797(s) { +function tiles_Location_y__P2698(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39574,36 +38520,46 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.scale___17670 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_StaticObstacle__C38796_VT)) failedCast(r0); - r0 = s.arg0.fields["left"]; + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + s.tmp_1 = tiles_Location_tileMap__P2694_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 800; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; s.tmp_0 = r0; - r0 = s.arg0.fields["image"]; + r0 = s.tmp_0.fields["_scale"]; + s.scale___17670 = (r0); + r0 = s.arg0.fields["_row"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 << s.scale___17670); + s.tmp_0 = r0; + r0 = (s.scale___17670 - 1); s.tmp_3 = r0; - r0 = pxsim_ImageMethods.width(s.tmp_3); + r0 = (1 << s.tmp_3); s.tmp_2 = r0; - r0 = (s.tmp_2 >> 1); - s.tmp_1 = r0; - r0 = (s.tmp_0 + s.tmp_1); + r0 = (s.tmp_0 + s.tmp_2); return leaveAccessor(s, r0) default: oops() } } } -sprites_StaticObstacle_x__P38797.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__P38797.isGetter = true; +tiles_Location_y__P2698.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__P2698.isGetter = true; -function sprites_StaticObstacle_x__P38797_mk(s) { +function tiles_Location_y__P2698_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_StaticObstacle_x__P38797, depth: s.depth + 1, + parent: s, fn: tiles_Location_y__P2698, depth: s.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___17670: undefined, arg0: undefined, } } @@ -39611,7 +38567,7 @@ function sprites_StaticObstacle_x__P38797_mk(s) { -function sprites_BaseSpriteSayRenderer_constructor__P38641(s) { +function tiles_Location_x__P2697(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39621,40 +38577,54 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: + s.scale___17686 = 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_BaseSpriteSayRenderer__C38637_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) + if (!checkSubtype(r0, tiles_Location__C2692_VT)) failedCast(r0); + s.tmp_1 = tiles_Location_tileMap__P2694_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 798; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_scale"]; + s.scale___17686 = (r0); + r0 = s.arg0.fields["_col"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 << s.scale___17686); + s.tmp_0 = r0; + r0 = (s.scale___17686 - 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() } } } -sprites_BaseSpriteSayRenderer_constructor__P38641.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"]} +tiles_Location_x__P2697.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__P2697.isGetter = true; -function sprites_BaseSpriteSayRenderer_constructor__P38641_mk(s) { +function tiles_Location_x__P2697_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSpriteSayRenderer_constructor__P38641, depth: s.depth + 1, + parent: s, fn: tiles_Location_x__P2697, depth: s.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___17686: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, - arg3: undefined, } } -function particles_ShapeFactory_drawParticle__P39844(s) { +function particles_ShapeFactory_drawParticle__P3215(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39664,7 +38634,7 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.pImage___53431 = undefined; + s.pImage___17705 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); @@ -39673,8 +38643,8 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_ShapeFactory__C39841_VT)) failedCast(r0); - s.tmp_1 = Math_FastRandom_pickRandom__P39625_mk(s); + if (!checkSubtype(r0, particles_ShapeFactory__C3212_VT)) failedCast(r0); + s.tmp_1 = Math_FastRandom_pickRandom__P3063_mk(s); r0 = s.arg0.fields["galois"]; s.tmp_1.arg0 = r0; r0 = s.arg0.fields["sources"]; @@ -39684,12 +38654,12 @@ switch (step) { r0 = s.retval; s.tmp_0 = r0; r0 = pxsim_ImageMethods.clone(s.tmp_0); - s.pImage___53431 = (r0); + s.pImage___17705 = (r0); r0 = s.arg1.fields["color"]; s.tmp_0 = r0; - r0 = pxsim_ImageMethods.replace(s.pImage___53431, 15, s.tmp_0); - s.tmp_0 = r0 = globals.screen___38324; - s.tmp_1 = r0 = s.pImage___53431; + r0 = pxsim_ImageMethods.replace(s.pImage___17705, 15, s.tmp_0); + s.tmp_0 = r0 = globals.screen___2032; + s.tmp_1 = r0 = s.pImage___17705; r0 = s.arg0.fields["ox"]; s.tmp_4 = r0; r0 = (s.arg2 - s.tmp_4); @@ -39711,12 +38681,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -particles_ShapeFactory_drawParticle__P39844.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"]} +particles_ShapeFactory_drawParticle__P3215.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__P39844_mk(s) { +function particles_ShapeFactory_drawParticle__P3215_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_ShapeFactory_drawParticle__P39844, depth: s.depth + 1, + parent: s, fn: particles_ShapeFactory_drawParticle__P3215, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -39728,7 +38698,7 @@ function particles_ShapeFactory_drawParticle__P39844_mk(s) { tmp_7: undefined, tmp_8: undefined, tmp_9: undefined, - pImage___53431: undefined, + pImage___17705: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -39739,7 +38709,7 @@ function particles_ShapeFactory_drawParticle__P39844_mk(s) { -function Math_FastRandom_pickRandom__P39625(s) { +function Math_FastRandom_pickRandom__P3063(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39755,7 +38725,7 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Math_FastRandom__C39622_VT)) failedCast(r0); + if (!checkSubtype(r0, Math_FastRandom__C3058_VT)) failedCast(r0); r0 = pxsim_numops_toBoolDecr(s.arg1); s.tmp_1 = r0; r0 = pxsim_Boolean__bang(s.tmp_1); @@ -39778,7 +38748,7 @@ switch (step) { case 3: case 4: s.tmp_4 = r0 = s.arg1; - s.tmp_6 = Math_FastRandom_randomRange__P39624_mk(s); + s.tmp_6 = Math_FastRandom_randomRange__P3062_mk(s); s.tmp_6.arg0 = s.arg0; s.tmp_6.arg1 = 0; r0 = pxsim_Array__length(s.arg1); @@ -39794,12 +38764,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -Math_FastRandom_pickRandom__P39625.info = {"start":2358,"length":192,"line":70,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"pickRandom","argumentNames":["this","list"]} +Math_FastRandom_pickRandom__P3063.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__P39625_mk(s) { +function Math_FastRandom_pickRandom__P3063_mk(s) { checkStack(s.depth); return { - parent: s, fn: Math_FastRandom_pickRandom__P39625, depth: s.depth + 1, + parent: s, fn: Math_FastRandom_pickRandom__P3063, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -39817,7 +38787,7 @@ function Math_FastRandom_pickRandom__P39625_mk(s) { -function particles_AreaFactory_drawParticle__P39834(s) { +function particles_AreaFactory_drawParticle__P3203(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39827,7 +38797,7 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.col___53478 = undefined; + s.col___17751 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); @@ -39836,7 +38806,7 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_AreaFactory__C39831_VT)) failedCast(r0); + if (!checkSubtype(r0, particles_AreaFactory__C3196_VT)) failedCast(r0); r0 = s.arg1.fields["lifespan"]; s.tmp_1 = r0; r0 = (s.tmp_1 > 500); @@ -39863,8 +38833,8 @@ switch (step) { case 4: // jmp value (already in r0) s.tmp_5 = r0; - s.col___53478 = (s.tmp_5); - s.tmp_0 = r0 = globals.screen___38324; + s.col___17751 = (s.tmp_5); + s.tmp_0 = r0 = globals.screen___2032; r0 = (s.arg2 + 128); s.tmp_2 = r0; r0 = (s.tmp_2 >> 8); @@ -39873,17 +38843,17 @@ switch (step) { 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___53478); + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.col___17751); r0 = undefined; return leave(s, r0) default: oops() } } } -particles_AreaFactory_drawParticle__P39834.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"]} +particles_AreaFactory_drawParticle__P3203.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__P39834_mk(s) { +function particles_AreaFactory_drawParticle__P3203_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_AreaFactory_drawParticle__P39834, depth: s.depth + 1, + parent: s, fn: particles_AreaFactory_drawParticle__P3203, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -39891,7 +38861,7 @@ function particles_AreaFactory_drawParticle__P39834_mk(s) { tmp_3: undefined, tmp_4: undefined, tmp_5: undefined, - col___53478: undefined, + col___17751: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -39902,7 +38872,7 @@ function particles_AreaFactory_drawParticle__P39834_mk(s) { -function particles_SprayFactory_drawParticle__P39827(s) { +function particles_SprayFactory_drawParticle__P3193(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39920,8 +38890,8 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, particles_SprayFactory__C39824_VT)) failedCast(r0); - s.tmp_0 = r0 = globals.screen___38324; + if (!checkSubtype(r0, particles_SprayFactory__C3190_VT)) failedCast(r0); + s.tmp_0 = r0 = globals.screen___2032; r0 = (s.arg2 + 128); s.tmp_2 = r0; r0 = (s.tmp_2 >> 8); @@ -39935,12 +38905,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -particles_SprayFactory_drawParticle__P39827.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"]} +particles_SprayFactory_drawParticle__P3193.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__P39827_mk(s) { +function particles_SprayFactory_drawParticle__P3193_mk(s) { checkStack(s.depth); return { - parent: s, fn: particles_SprayFactory_drawParticle__P39827, depth: s.depth + 1, + parent: s, fn: particles_SprayFactory_drawParticle__P3193, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -39957,7 +38927,7 @@ function particles_SprayFactory_drawParticle__P39827_mk(s) { -function scene_Renderable___drawCore__P39155(s) { +function scene_Renderable___drawCore__P2802(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -39973,10 +38943,10 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Renderable__C39152_VT)) failedCast(r0); + if (!checkSubtype(r0, scene_Renderable__C2799_VT)) failedCast(r0); s.tmp_0 = if_handler_3_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = globals.screen___38324; + s.tmp_0.arg1 = globals.screen___2032; 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); @@ -39993,12 +38963,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -scene_Renderable___drawCore__P39155.info = {"start":390,"length":86,"line":14,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__drawCore","argumentNames":["this","camera"]} +scene_Renderable___drawCore__P2802.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__P39155_mk(s) { +function scene_Renderable___drawCore__P2802_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Renderable___drawCore__P39155, depth: s.depth + 1, + parent: s, fn: scene_Renderable___drawCore__P2802, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -40009,7 +38979,7 @@ function scene_Renderable___drawCore__P39155_mk(s) { -function scene_Renderable___visible__P39154(s) { +function scene_Renderable___visible__P2801(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40024,7 +38994,7 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Renderable__C39152_VT)) failedCast(r0); + if (!checkSubtype(r0, scene_Renderable__C2799_VT)) failedCast(r0); s.tmp_0 = if_shouldBeVisible_1_mk(s); s.tmp_0.arg0 = s.arg0; if (!s.tmp_0.arg0.vtable.iface) { @@ -40041,12 +39011,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -scene_Renderable___visible__P39154.info = {"start":305,"length":75,"line":10,"column":8,"endLine":12,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__visible","argumentNames":["this"]} +scene_Renderable___visible__P2801.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__P39154_mk(s) { +function scene_Renderable___visible__P2801_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Renderable___visible__P39154, depth: s.depth + 1, + parent: s, fn: scene_Renderable___visible__P2801, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, arg0: undefined, @@ -40056,7 +39026,7 @@ function scene_Renderable___visible__P39154_mk(s) { -function Sprite___drawCore__P38716(s) { +function Sprite___drawCore__P2414(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40066,24 +39036,24 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.ox___53518 = undefined; - s.oy___53526 = undefined; - s.l___53534 = undefined; - s.t___53540 = undefined; + s.ox___17791 = undefined; + s.oy___17799 = undefined; + s.l___17807 = undefined; + s.t___17813 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_0 = Sprite_drawSay__P38736_mk(s); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_0 = Sprite_drawSay__P4732_mk(s); s.tmp_0.arg0 = s.arg0; s.tmp_0.arg1 = s.arg1; s.callLocIdx = 376; s.pc = 8; return s.tmp_0; case 8: r0 = s.retval; - s.tmp_1 = Sprite_isOutOfScreen__P38715_mk(s); + s.tmp_1 = Sprite_isOutOfScreen__P2413_mk(s); s.tmp_1.arg0 = s.arg0; s.tmp_1.arg1 = s.arg1; s.callLocIdx = 377; s.pc = 9; return s.tmp_1; @@ -40108,7 +39078,7 @@ switch (step) { case 4: // jmp value (already in r0) s.tmp_4 = r0; - s.ox___53518 = (s.tmp_4); + s.ox___17791 = (s.tmp_4); r0 = s.arg0.fields["flags"]; s.tmp_1 = r0; r0 = (s.tmp_1 & 512); @@ -40122,42 +39092,42 @@ switch (step) { case 6: // jmp value (already in r0) s.tmp_2 = r0; - s.oy___53526 = (s.tmp_2); - s.tmp_2 = Sprite_left__P38700_mk(s); + s.oy___17799 = (s.tmp_2); + s.tmp_2 = Sprite_left__P2398_mk(s); s.tmp_2.arg0 = s.arg0; s.callLocIdx = 378; s.pc = 10; return s.tmp_2; case 10: r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_1 - s.ox___53518); + r0 = (s.tmp_1 - s.ox___17791); s.tmp_0 = r0; r0 = pxsim.Math_.floor(s.tmp_0); - s.l___53534 = (r0); - s.tmp_2 = Sprite_top__P38704_mk(s); + s.l___17807 = (r0); + s.tmp_2 = Sprite_top__P2402_mk(s); s.tmp_2.arg0 = s.arg0; s.callLocIdx = 379; s.pc = 11; return s.tmp_2; case 11: r0 = s.retval; s.tmp_1 = r0; - r0 = (s.tmp_1 - s.oy___53526); + r0 = (s.tmp_1 - s.oy___17799); s.tmp_0 = r0; r0 = pxsim.Math_.floor(s.tmp_0); - s.t___53540 = (r0); - s.tmp_0 = Sprite__C38662_v6_3_mk(s); + s.t___17813 = (r0); + s.tmp_0 = Sprite__C2340_v6_3_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.l___53534; - s.tmp_0.arg2 = s.t___53540; - if (!checkSubtype(s.tmp_0.arg0, Sprite__C38662_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.arg1 = s.l___17807; + s.tmp_0.arg2 = s.t___17813; + if (!checkSubtype(s.tmp_0.arg0, Sprite__C2340_VT)) failedCast(s.tmp_0.arg0); s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawSprite; s.pc = 12; return s.tmp_0; case 12: r0 = s.retval; - s.tmp_0 = Sprite_drawDebug__P38737_mk(s); + s.tmp_0 = Sprite_drawDebug__P4733_mk(s); s.tmp_0.arg0 = s.arg0; - s.tmp_0.arg1 = s.l___53534; - s.tmp_0.arg2 = s.t___53540; - s.tmp_0.arg3 = s.ox___53518; - s.tmp_0.arg4 = s.oy___53526; + s.tmp_0.arg1 = s.l___17807; + s.tmp_0.arg2 = s.t___17813; + s.tmp_0.arg3 = s.ox___17791; + s.tmp_0.arg4 = s.oy___17799; s.callLocIdx = 380; s.pc = 13; return s.tmp_0; case 13: r0 = s.retval; @@ -40166,22 +39136,22 @@ switch (step) { return leave(s, r0) default: oops() } } } -Sprite___drawCore__P38716.info = {"start":18194,"length":462,"line":613,"column":4,"endLine":626,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]} +Sprite___drawCore__P2414.info = {"start":18194,"length":462,"line":613,"column":4,"endLine":626,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]} -function Sprite___drawCore__P38716_mk(s) { +function Sprite___drawCore__P2414_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite___drawCore__P38716, depth: s.depth + 1, + parent: s, fn: Sprite___drawCore__P2414, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, tmp_2: undefined, tmp_3: undefined, tmp_4: undefined, - ox___53518: undefined, - oy___53526: undefined, - l___53534: undefined, - t___53540: undefined, + ox___17791: undefined, + oy___17799: undefined, + l___17807: undefined, + t___17813: undefined, arg0: undefined, arg1: undefined, } } @@ -40190,7 +39160,7 @@ function Sprite___drawCore__P38716_mk(s) { -function Sprite_drawSprite__P38738(s) { +function Sprite_drawSprite__P4734(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40207,8 +39177,8 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); - s.tmp_3 = Sprite_isScaled__P38697_mk(s); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); + s.tmp_3 = Sprite_isScaled__P4731_mk(s); s.tmp_3.arg0 = s.arg0; s.callLocIdx = 471; s.pc = 3; return s.tmp_3; case 3: @@ -40222,20 +39192,20 @@ switch (step) { if (!r0) { step = 1; continue; } r0 = s.arg0.fields["_image"]; s.tmp_4 = r0; - r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___38324, s.tmp_4, s.arg1, s.arg2); + r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___2032, s.tmp_4, s.arg1, s.arg2); { step = 2; continue; } case 1: - s.tmp_0 = helpers_imageBlit__P38258_mk(s); - s.tmp_0.arg0 = globals.screen___38324; + s.tmp_0 = helpers_imageBlit__P1953_mk(s); + s.tmp_0.arg0 = globals.screen___2032; s.tmp_0.arg1 = s.arg1; s.tmp_0.arg2 = s.arg2; - s.tmp_1 = Sprite_width__P38698_mk(s); + s.tmp_1 = Sprite_width__P2396_mk(s); s.tmp_1.arg0 = s.arg0; s.callLocIdx = 472; s.pc = 5; return s.tmp_1; case 5: r0 = s.retval; s.tmp_0.arg3 = r0; - s.tmp_2 = Sprite_height__P38699_mk(s); + s.tmp_2 = Sprite_height__P2397_mk(s); s.tmp_2.arg0 = s.arg0; s.callLocIdx = 473; s.pc = 6; return s.tmp_2; case 6: @@ -40263,12 +39233,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -Sprite_drawSprite__P38738.info = {"start":35728,"length":514,"line":1116,"column":4,"endLine":1130,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawSprite","argumentNames":["this","drawLeft","drawTop"]} +Sprite_drawSprite__P4734.info = {"start":35728,"length":514,"line":1116,"column":4,"endLine":1130,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawSprite","argumentNames":["this","drawLeft","drawTop"]} -function Sprite_drawSprite__P38738_mk(s) { +function Sprite_drawSprite__P4734_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_drawSprite__P38738, depth: s.depth + 1, + parent: s, fn: Sprite_drawSprite__P4734, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -40284,7 +39254,7 @@ function Sprite_drawSprite__P38738_mk(s) { -function Sprite_drawDebug__P38737(s) { +function Sprite_drawDebug__P4733(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40294,9 +39264,9 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re switch (step) { case 0: - s.font___53566 = undefined; - s.tx___53570 = undefined; - s.ty___53572 = undefined; + s.font___17837 = undefined; + s.tx___17841 = undefined; + s.ty___17843 = undefined; if (s.lambdaArgs) { s.arg0 = (s.lambdaArgs[0]); s.arg1 = (s.lambdaArgs[1]); @@ -40306,17 +39276,17 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); r0 = s.arg0.fields["flags"]; s.tmp_1 = r0; r0 = (s.tmp_1 & 64); s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); if (!r0) { step = 9; continue; } - s.font___53566 = (globals.font5___38283); - s.tx___53570 = (s.arg1); + s.font___17837 = (globals.font5___1980); + s.tx___17841 = (s.arg1); s.tmp_1 = r0 = s.arg2; - s.tmp_3 = Sprite_height__P38699_mk(s); + s.tmp_3 = Sprite_height__P2397_mk(s); s.tmp_3.arg0 = s.arg0; s.callLocIdx = 447; s.pc = 13; return s.tmp_3; case 13: @@ -40325,12 +39295,12 @@ switch (step) { r0 = (s.tmp_1 + s.tmp_2); s.tmp_0 = r0; r0 = (s.tmp_0 + 2); - s.ty___53572 = (r0); - s.tmp_0 = helpers_imagePrint__P38287_mk(s); - s.tmp_0.arg0 = globals.screen___38324; + s.ty___17843 = (r0); + s.tmp_0 = helpers_imagePrint__P1990_mk(s); + s.tmp_0.arg0 = globals.screen___2032; r0 = pxsim_String_.mkEmpty(); s.tmp_3 = r0; - s.tmp_7 = Sprite_x__P38664_mk(s); + s.tmp_7 = Sprite_x__P2353_mk(s); s.tmp_7.arg0 = s.arg0; s.callLocIdx = 448; s.pc = 15; return s.tmp_7; case 15: @@ -40351,7 +39321,7 @@ switch (step) { s.tmp_2 = r0; r0 = pxsim_String__concat(s.tmp_2, ","); s.tmp_1 = r0; - s.tmp_11 = Sprite_y__P38666_mk(s); + s.tmp_11 = Sprite_y__P2355_mk(s); s.tmp_11.arg0 = s.arg0; s.callLocIdx = 449; s.pc = 17; return s.tmp_11; case 17: @@ -40370,17 +39340,17 @@ switch (step) { 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___53570; - s.tmp_0.arg3 = s.ty___53572; + s.tmp_0.arg2 = s.tx___17841; + s.tmp_0.arg3 = s.ty___17843; s.tmp_0.arg4 = 1; - s.tmp_0.arg5 = s.font___53566; + s.tmp_0.arg5 = s.font___17837; s.tmp_0.arg6 = undefined; s.callLocIdx = 450; s.pc = 14; return s.tmp_0; case 14: r0 = s.retval; - s.tmp_0 = r0 = s.tx___53570; + s.tmp_0 = r0 = s.tx___17841; s.tmp_2 = if_charWidth_1_mk(s); - s.tmp_2.arg0 = s.font___53566; + s.tmp_2.arg0 = s.font___17837; if (!s.tmp_2.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth"); } else { @@ -40393,8 +39363,8 @@ switch (step) { r0 = s.retval; s.tmp_1 = r0; r0 = (s.tmp_0 - s.tmp_1); - s.tx___53570 = (r0); - s.tmp_1 = Sprite_vx__P38668_mk(s); + s.tx___17841 = (r0); + s.tmp_1 = Sprite_vx__P2357_mk(s); s.tmp_1.arg0 = s.arg0; s.callLocIdx = 452; s.pc = 20; return s.tmp_1; case 20: @@ -40405,7 +39375,7 @@ switch (step) { r0 = s.tmp_0; { step = 2; continue; } case 1: - s.tmp_2 = Sprite_vy__P38670_mk(s); + s.tmp_2 = Sprite_vy__P2359_mk(s); s.tmp_2.arg0 = s.arg0; s.callLocIdx = 453; s.pc = 21; return s.tmp_2; case 21: @@ -40415,9 +39385,9 @@ switch (step) { s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 3; continue; } - s.tmp_4 = r0 = s.ty___53572; + s.tmp_4 = r0 = s.ty___17843; s.tmp_7 = if_charHeight_1_mk(s); - s.tmp_7.arg0 = s.font___53566; + s.tmp_7.arg0 = s.font___17837; if (!s.tmp_7.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); } else { @@ -40432,10 +39402,10 @@ switch (step) { r0 = (s.tmp_6 + 2); s.tmp_5 = r0; r0 = (s.tmp_4 + s.tmp_5); - s.ty___53572 = (r0); - s.tmp_0 = helpers_imagePrint__P38287_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_6 = Sprite_vx__P38668_mk(s); + s.ty___17843 = (r0); + s.tmp_0 = helpers_imagePrint__P1990_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_6 = Sprite_vx__P2357_mk(s); s.tmp_6.arg0 = s.arg0; s.callLocIdx = 455; s.pc = 24; return s.tmp_6; case 24: @@ -40456,7 +39426,7 @@ switch (step) { s.tmp_2 = r0; r0 = pxsim_String__concat(s.tmp_2, ","); s.tmp_1 = r0; - s.tmp_10 = Sprite_vy__P38670_mk(s); + s.tmp_10 = Sprite_vy__P2359_mk(s); s.tmp_10.arg0 = s.arg0; s.callLocIdx = 456; s.pc = 26; return s.tmp_10; case 26: @@ -40475,17 +39445,17 @@ switch (step) { 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___53570; - s.tmp_0.arg3 = s.ty___53572; + s.tmp_0.arg2 = s.tx___17841; + s.tmp_0.arg3 = s.ty___17843; s.tmp_0.arg4 = 1; - s.tmp_0.arg5 = s.font___53566; + s.tmp_0.arg5 = s.font___17837; s.tmp_0.arg6 = undefined; s.callLocIdx = 457; s.pc = 23; return s.tmp_0; case 23: r0 = s.retval; case 3: case 4: - s.tmp_1 = Sprite_ax__P38672_mk(s); + s.tmp_1 = Sprite_ax__P2361_mk(s); s.tmp_1.arg0 = s.arg0; s.callLocIdx = 458; s.pc = 28; return s.tmp_1; case 28: @@ -40496,7 +39466,7 @@ switch (step) { r0 = s.tmp_0; { step = 6; continue; } case 5: - s.tmp_2 = Sprite_ay__P38674_mk(s); + s.tmp_2 = Sprite_ay__P2363_mk(s); s.tmp_2.arg0 = s.arg0; s.callLocIdx = 459; s.pc = 29; return s.tmp_2; case 29: @@ -40506,9 +39476,9 @@ switch (step) { s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 7; continue; } - s.tmp_4 = r0 = s.ty___53572; + s.tmp_4 = r0 = s.ty___17843; s.tmp_7 = if_charHeight_1_mk(s); - s.tmp_7.arg0 = s.font___53566; + s.tmp_7.arg0 = s.font___17837; if (!s.tmp_7.arg0.vtable.iface) { s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); } else { @@ -40523,10 +39493,10 @@ switch (step) { r0 = (s.tmp_6 + 2); s.tmp_5 = r0; r0 = (s.tmp_4 + s.tmp_5); - s.ty___53572 = (r0); - s.tmp_0 = helpers_imagePrint__P38287_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_6 = Sprite_ax__P38672_mk(s); + s.ty___17843 = (r0); + s.tmp_0 = helpers_imagePrint__P1990_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_6 = Sprite_ax__P2361_mk(s); s.tmp_6.arg0 = s.arg0; s.callLocIdx = 461; s.pc = 32; return s.tmp_6; case 32: @@ -40547,7 +39517,7 @@ switch (step) { s.tmp_2 = r0; r0 = pxsim_String__concat(s.tmp_2, ","); s.tmp_1 = r0; - s.tmp_10 = Sprite_ay__P38674_mk(s); + s.tmp_10 = Sprite_ay__P2363_mk(s); s.tmp_10.arg0 = s.arg0; s.callLocIdx = 462; s.pc = 34; return s.tmp_10; case 34: @@ -40566,10 +39536,10 @@ switch (step) { 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___53570; - s.tmp_0.arg3 = s.ty___53572; + s.tmp_0.arg2 = s.tx___17841; + s.tmp_0.arg3 = s.ty___17843; s.tmp_0.arg4 = 1; - s.tmp_0.arg5 = s.font___53566; + s.tmp_0.arg5 = s.font___17837; s.tmp_0.arg6 = undefined; s.callLocIdx = 463; s.pc = 31; return s.tmp_0; case 31: @@ -40578,11 +39548,11 @@ switch (step) { case 8: case 9: case 10: - r0 = pxsim_numops_toBoolDecr(globals.debug___39308); + r0 = pxsim_numops_toBoolDecr(globals.debug___2966); if (!r0) { step = 11; continue; } - s.tmp_0 = helpers_imageDrawRect__P38264_mk(s); - s.tmp_0.arg0 = globals.screen___38324; - s.tmp_3 = game_Hitbox_left__P38597_mk(s); + s.tmp_0 = helpers_imageDrawRect__P1959_mk(s); + s.tmp_0.arg0 = globals.screen___2032; + s.tmp_3 = game_Hitbox_left__P2216_mk(s); r0 = s.arg0.fields["_hitbox"]; s.tmp_3.arg0 = r0; s.callLocIdx = 464; s.pc = 37; return s.tmp_3; @@ -40595,7 +39565,7 @@ switch (step) { s.tmp_1 = r0; r0 = (s.tmp_1 - s.arg3); s.tmp_0.arg1 = r0; - s.tmp_7 = game_Hitbox_top__P38598_mk(s); + s.tmp_7 = game_Hitbox_top__P2217_mk(s); r0 = s.arg0.fields["_hitbox"]; s.tmp_7.arg0 = r0; s.callLocIdx = 466; s.pc = 38; return s.tmp_7; @@ -40632,12 +39602,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -Sprite_drawDebug__P38737.info = {"start":34630,"length":1092,"line":1086,"column":4,"endLine":1114,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawDebug","argumentNames":["this","left","top","offsetX","offsetY"]} +Sprite_drawDebug__P4733.info = {"start":34630,"length":1092,"line":1086,"column":4,"endLine":1114,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawDebug","argumentNames":["this","left","top","offsetX","offsetY"]} -function Sprite_drawDebug__P38737_mk(s) { +function Sprite_drawDebug__P4733_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_drawDebug__P38737, depth: s.depth + 1, + parent: s, fn: Sprite_drawDebug__P4733, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -40652,9 +39622,9 @@ function Sprite_drawDebug__P38737_mk(s) { tmp_10: undefined, tmp_11: undefined, tmp_12: undefined, - font___53566: undefined, - tx___53570: undefined, - ty___53572: undefined, + font___17837: undefined, + tx___17841: undefined, + ty___17843: undefined, arg0: undefined, arg1: undefined, arg2: undefined, @@ -40666,7 +39636,7 @@ function Sprite_drawDebug__P38737_mk(s) { -function Sprite_drawSay__P38736(s) { +function Sprite_drawSay__P4732(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40682,7 +39652,7 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); r0 = s.arg0.fields["sayRenderer"]; s.tmp_0 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_0); @@ -40701,23 +39671,23 @@ switch (step) { s.tmp_3 = r0; r0 = pxsim_numops_toBoolDecr(s.tmp_3); if (!r0) { step = 1; continue; } - s.tmp_6 = sprites_BaseSpriteSayRenderer__C38637_v0_4_mk(s); + s.tmp_6 = sprites_BaseSpriteSayRenderer__C2259_v0_4_mk(s); r0 = s.arg0.fields["sayRenderer"]; s.tmp_6.arg0 = r0; - s.tmp_6.arg1 = globals.screen___38324; + s.tmp_6.arg1 = globals.screen___2032; s.tmp_6.arg2 = s.arg1; s.tmp_6.arg3 = s.arg0; - if (!checkSubtype(s.tmp_6.arg0, sprites_BaseSpriteSayRenderer__C38637_VT)) failedCast(s.tmp_6.arg0); + if (!checkSubtype(s.tmp_6.arg0, sprites_BaseSpriteSayRenderer__C2259_VT)) failedCast(s.tmp_6.arg0); s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.draw; s.pc = 7; return s.tmp_6; case 7: r0 = s.retval; { step = 2; continue; } case 1: - s.tmp_0 = sprites_BaseSpriteSayRenderer__C38637_v2_1_mk(s); + s.tmp_0 = sprites_BaseSpriteSayRenderer__C2259_v2_1_mk(s); r0 = s.arg0.fields["sayRenderer"]; s.tmp_0.arg0 = r0; - if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C38637_VT)) failedCast(s.tmp_0.arg0); + if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C2259_VT)) failedCast(s.tmp_0.arg0); s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.destroy; s.pc = 8; return s.tmp_0; case 8: @@ -40727,13 +39697,13 @@ switch (step) { case 2: { step = 4; continue; } case 3: - s.tmp_0 = sprites_BaseSpriteSayRenderer__C38637_v0_4_mk(s); + s.tmp_0 = sprites_BaseSpriteSayRenderer__C2259_v0_4_mk(s); r0 = s.arg0.fields["sayRenderer"]; s.tmp_0.arg0 = r0; - s.tmp_0.arg1 = globals.screen___38324; + s.tmp_0.arg1 = globals.screen___2032; s.tmp_0.arg2 = s.arg1; s.tmp_0.arg3 = s.arg0; - if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C38637_VT)) failedCast(s.tmp_0.arg0); + if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C2259_VT)) failedCast(s.tmp_0.arg0); s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw; s.pc = 9; return s.tmp_0; case 9: @@ -40745,12 +39715,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -Sprite_drawSay__P38736.info = {"start":34050,"length":574,"line":1068,"column":4,"endLine":1084,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawSay","argumentNames":["this","camera"]} +Sprite_drawSay__P4732.info = {"start":34050,"length":574,"line":1068,"column":4,"endLine":1084,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawSay","argumentNames":["this","camera"]} -function Sprite_drawSay__P38736_mk(s) { +function Sprite_drawSay__P4732_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite_drawSay__P38736, depth: s.depth + 1, + parent: s, fn: Sprite_drawSay__P4732, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -40767,7 +39737,7 @@ function Sprite_drawSay__P38736_mk(s) { -function sprites_BaseSpriteSayRenderer_destroy__P38640(s) { +function sprites_BaseSpriteSayRenderer_destroy__P2263(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40782,17 +39752,17 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C38637_VT)) failedCast(r0); + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C2259_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_BaseSpriteSayRenderer_destroy__P38640.info = {"start":328,"length":22,"line":13,"column":8,"endLine":15,"endColumn":9,"fileName":"pxt_modules/game/spritesay.ts","functionName":"destroy","argumentNames":["this"]} +sprites_BaseSpriteSayRenderer_destroy__P2263.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__P38640_mk(s) { +function sprites_BaseSpriteSayRenderer_destroy__P2263_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSpriteSayRenderer_destroy__P38640, depth: s.depth + 1, + parent: s, fn: sprites_BaseSpriteSayRenderer_destroy__P2263, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } @@ -40801,7 +39771,7 @@ function sprites_BaseSpriteSayRenderer_destroy__P38640_mk(s) { -function sprites_BaseSpriteSayRenderer_draw__P38638(s) { +function sprites_BaseSpriteSayRenderer_draw__P2261(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40819,17 +39789,17 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C38637_VT)) failedCast(r0); + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C2259_VT)) failedCast(r0); r0 = undefined; return leave(s, r0) default: oops() } } } -sprites_BaseSpriteSayRenderer_draw__P38638.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"]} +sprites_BaseSpriteSayRenderer_draw__P2261.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__P38638_mk(s) { +function sprites_BaseSpriteSayRenderer_draw__P2261_mk(s) { checkStack(s.depth); return { - parent: s, fn: sprites_BaseSpriteSayRenderer_draw__P38638, depth: s.depth + 1, + parent: s, fn: sprites_BaseSpriteSayRenderer_draw__P2261, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, arg1: undefined, @@ -40841,7 +39811,7 @@ function sprites_BaseSpriteSayRenderer_draw__P38638_mk(s) { -function Sprite___visible__P38695(s) { +function Sprite___visible__P2395(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40856,7 +39826,7 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, Sprite__C38662_VT)) failedCast(r0); + if (!checkSubtype(r0, Sprite__C2340_VT)) failedCast(r0); r0 = s.arg0.fields["flags"]; s.tmp_2 = r0; r0 = (s.tmp_2 & 128); @@ -40867,12 +39837,12 @@ switch (step) { return leave(s, r0) default: oops() } } } -Sprite___visible__P38695.info = {"start":9904,"length":72,"line":359,"column":4,"endLine":361,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__visible","argumentNames":["this"]} +Sprite___visible__P2395.info = {"start":9904,"length":72,"line":359,"column":4,"endLine":361,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__visible","argumentNames":["this"]} -function Sprite___visible__P38695_mk(s) { +function Sprite___visible__P2395_mk(s) { checkStack(s.depth); return { - parent: s, fn: Sprite___visible__P38695, depth: s.depth + 1, + parent: s, fn: Sprite___visible__P2395, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, tmp_0: undefined, tmp_1: undefined, @@ -40884,7 +39854,7 @@ function Sprite___visible__P38695_mk(s) { -function scene_Camera_top__P39146(s) { +function scene_Camera_top__P2793(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40899,18 +39869,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_VT)) failedCast(r0); + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); r0 = s.arg0.fields["_offsetY"]; return leaveAccessor(s, r0) default: oops() } } } -scene_Camera_top__P39146.info = {"start":1764,"length":54,"line":60,"column":8,"endLine":62,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"top","argumentNames":["this"]} -scene_Camera_top__P39146.isGetter = true; +scene_Camera_top__P2793.info = {"start":1764,"length":54,"line":60,"column":8,"endLine":62,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"top","argumentNames":["this"]} +scene_Camera_top__P2793.isGetter = true; -function scene_Camera_top__P39146_mk(s) { +function scene_Camera_top__P2793_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_top__P39146, depth: s.depth + 1, + parent: s, fn: scene_Camera_top__P2793, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } @@ -40919,7 +39889,7 @@ function scene_Camera_top__P39146_mk(s) { -function scene_Camera_left__P39144(s) { +function scene_Camera_left__P2791(s) { let r0 = s.r0, step = s.pc; s.pc = -1; @@ -40934,18 +39904,18 @@ switch (step) { s.lambdaArgs = null; } r0 = s.arg0; - if (!checkSubtype(r0, scene_Camera__C39137_VT)) failedCast(r0); + if (!checkSubtype(r0, scene_Camera__C2780_VT)) failedCast(r0); r0 = s.arg0.fields["_offsetX"]; return leaveAccessor(s, r0) default: oops() } } } -scene_Camera_left__P39144.info = {"start":1620,"length":55,"line":54,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"left","argumentNames":["this"]} -scene_Camera_left__P39144.isGetter = true; +scene_Camera_left__P2791.info = {"start":1620,"length":55,"line":54,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"left","argumentNames":["this"]} +scene_Camera_left__P2791.isGetter = true; -function scene_Camera_left__P39144_mk(s) { +function scene_Camera_left__P2791_mk(s) { checkStack(s.depth); return { - parent: s, fn: scene_Camera_left__P39144, depth: s.depth + 1, + parent: s, fn: scene_Camera_left__P2791, depth: s.depth + 1, pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, arg0: undefined, } } @@ -40953,7 +39923,7 @@ function scene_Camera_left__P39144_mk(s) { -function lambda_3_mk(s) { +function PhysicsEngine__C2510_v4_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -40965,11 +39935,10 @@ function lambda_3_mk(s) { tmp_4: undefined, arg0: undefined, arg1: undefined, - arg2: undefined, } } -function lambda_4_mk(s) { +function if___update_3_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -40982,11 +39951,10 @@ function lambda_4_mk(s) { arg0: undefined, arg1: undefined, arg2: undefined, - arg3: undefined, } } -function PhysicsEngine__C38804_v4_2_mk(s) { +function lambda_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41001,7 +39969,7 @@ function PhysicsEngine__C38804_v4_2_mk(s) { } } -function if___update_3_mk(s) { +function PhysicsEngine__C2510_v3_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41012,12 +39980,10 @@ function if___update_3_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function lambda_2_mk(s) { +function if_handler_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41028,11 +39994,10 @@ function lambda_2_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, - arg1: undefined, } } -function PhysicsEngine__C38804_v3_1_mk(s) { +function if_charHeight_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41046,7 +40011,7 @@ function PhysicsEngine__C38804_v3_1_mk(s) { } } -function if_handler_1_mk(s) { +function if_charWidth_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41060,7 +40025,7 @@ function if_handler_1_mk(s) { } } -function if_charHeight_1_mk(s) { +function if_multiplier_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41074,7 +40039,7 @@ function if_charHeight_1_mk(s) { } } -function if_charWidth_1_mk(s) { +function if_data_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41088,7 +40053,7 @@ function if_charWidth_1_mk(s) { } } -function if_multiplier_1_mk(s) { +function if_xOffset_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41102,7 +40067,7 @@ function if_multiplier_1_mk(s) { } } -function if_data_1_mk(s) { +function if_yOffset_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41116,7 +40081,7 @@ function if_data_1_mk(s) { } } -function if_xOffset_1_mk(s) { +function if___draw_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41127,10 +40092,11 @@ function if_xOffset_1_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, + arg1: undefined, } } -function if_yOffset_1_mk(s) { +function if_z_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41144,7 +40110,7 @@ function if_yOffset_1_mk(s) { } } -function controller_Button__C38558_v0_1_mk(s) { +function if_id_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41158,7 +40124,7 @@ function controller_Button__C38558_v0_1_mk(s) { } } -function if_s_1_mk(s) { +function lambda_3_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41169,10 +40135,12 @@ function if_s_1_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, } } -function if_vx_1_mk(s) { +function controller_Button__C2189_v0_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41186,7 +40154,7 @@ function if_vx_1_mk(s) { } } -function if_vy_1_mk(s) { +function if_s_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41200,7 +40168,7 @@ function if_vy_1_mk(s) { } } -function if___draw_2_mk(s) { +function if_vx_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41211,11 +40179,10 @@ function if___draw_2_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, - arg1: undefined, } } -function if_z_1_mk(s) { +function if_vy_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41229,7 +40196,7 @@ function if_z_1_mk(s) { } } -function if_id_1_mk(s) { +function lambda_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41243,7 +40210,7 @@ function if_id_1_mk(s) { } } -function lambda_1_mk(s) { +function if_condition_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41257,7 +40224,7 @@ function lambda_1_mk(s) { } } -function if_condition_1_mk(s) { +function lambda_4_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41268,6 +40235,9 @@ function if_condition_1_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } @@ -41287,7 +40257,7 @@ function if_effect_3_mk(s) { } } -function Sprite__C38662_v5_1_mk(s) { +function Sprite__C2340_v5_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41301,7 +40271,7 @@ function Sprite__C38662_v5_1_mk(s) { } } -function Sprite__C38662_v4_1_mk(s) { +function Sprite__C2340_v4_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41331,7 +40301,7 @@ function if_sourceFactory_3_mk(s) { } } -function PhysicsEngine__C38804_v1_2_mk(s) { +function PhysicsEngine__C2510_v1_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41529,7 +40499,7 @@ function if_getText_1_mk(s) { } } -function PhysicsEngine__C38804_v2_4_mk(s) { +function PhysicsEngine__C2510_v2_4_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41603,7 +40573,7 @@ function if_z_2_mk(s) { } } -function PhysicsEngine__C38804_v0_2_mk(s) { +function PhysicsEngine__C2510_v0_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41661,7 +40631,7 @@ function if_flags_1_mk(s) { } } -function particles_ParticleFactory__C39820_v0_2_mk(s) { +function particles_ParticleFactory__C3186_v0_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41676,7 +40646,7 @@ function particles_ParticleFactory__C39820_v0_2_mk(s) { } } -function particles_ParticleSource__C39760_v4_3_mk(s) { +function particles_ParticleSource__C3150_v4_3_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41734,7 +40704,7 @@ function if_height_1_mk(s) { } } -function particles_ParticleFactory__C39820_v1_4_mk(s) { +function particles_ParticleFactory__C3186_v1_4_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41751,7 +40721,7 @@ function particles_ParticleFactory__C39820_v1_4_mk(s) { } } -function sprites_BaseSpriteSayRenderer__C38637_v1_4_mk(s) { +function if_handler_3_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41764,11 +40734,10 @@ function sprites_BaseSpriteSayRenderer__C38637_v1_4_mk(s) { arg0: undefined, arg1: undefined, arg2: undefined, - arg3: undefined, } } -function sprites_BaseSprite__C38391_v0_1_mk(s) { +function if_tileIndex_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41782,7 +40751,7 @@ function sprites_BaseSprite__C38391_v0_1_mk(s) { } } -function sprites_BaseSprite__C38391_v2_2_mk(s) { +function if_left_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41793,11 +40762,10 @@ function sprites_BaseSprite__C38391_v2_2_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, - arg1: undefined, } } -function if_handler_3_mk(s) { +function if_top_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41808,12 +40776,10 @@ function if_handler_3_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, - arg1: undefined, - arg2: undefined, } } -function if_tileIndex_1_mk(s) { +function sprites_BaseSpriteSayRenderer__C2259_v1_4_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41824,10 +40790,13 @@ function if_tileIndex_1_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, } } -function if_left_1_mk(s) { +function sprites_BaseSprite__C2094_v0_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41841,7 +40810,7 @@ function if_left_1_mk(s) { } } -function if_top_1_mk(s) { +function sprites_BaseSprite__C2094_v2_2_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41852,6 +40821,7 @@ function if_top_1_mk(s) { tmp_3: undefined, tmp_4: undefined, arg0: undefined, + arg1: undefined, } } @@ -41869,7 +40839,7 @@ function if_shouldBeVisible_1_mk(s) { } } -function Sprite__C38662_v6_3_mk(s) { +function Sprite__C2340_v6_3_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41885,7 +40855,7 @@ function Sprite__C38662_v6_3_mk(s) { } } -function sprites_BaseSpriteSayRenderer__C38637_v0_4_mk(s) { +function sprites_BaseSpriteSayRenderer__C2259_v0_4_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41902,7 +40872,7 @@ function sprites_BaseSpriteSayRenderer__C38637_v0_4_mk(s) { } } -function sprites_BaseSpriteSayRenderer__C38637_v2_1_mk(s) { +function sprites_BaseSpriteSayRenderer__C2259_v2_1_mk(s) { checkStack(s.depth); return { parent: s, fn: null, depth: s.depth + 1, @@ -41957,7 +40927,7 @@ function if_width_1_mk(s) { arg0: undefined, } } -const controller_Controller__C38524_VT = mkVTable({ +const controller_Controller__C2134_VT = mkVTable({ name: "Controller", numFields: 5, classNo: 16, @@ -41976,28 +40946,28 @@ const controller_Controller__C38524_VT = mkVTable({ "set/_id": null, "_connected": null, "set/_connected": null, - "_controlledSprites": controller_Controller__controlledSprites__P38525, - "set/_controlledSprites": controller_Controller__controlledSprites__P38526, - "id": controller_Controller_id__P38484, - "left": controller_Controller_left__P38528, - "right": controller_Controller_right__P38529, - "up": controller_Controller_up__P38530, - "down": controller_Controller_down__P38531, - "button": controller_Controller_button__P38538, - "connected": controller_Controller_connected__P38479, - "set/connected": controller_Controller_connected__P38541, - "__preUpdate": controller_Controller___preUpdate__P38547, - "__update": controller_Controller___update__P38548, + "_controlledSprites": controller_Controller__controlledSprites__P2139, + "set/_controlledSprites": controller_Controller__controlledSprites__P2140, + "id": controller_Controller_id__P2141, + "left": controller_Controller_left__P2143, + "right": controller_Controller_right__P2144, + "up": controller_Controller_up__P2145, + "down": controller_Controller_down__P2146, + "button": controller_Controller_button__P4703, + "connected": controller_Controller_connected__P2155, + "set/connected": controller_Controller_connected__P2156, + "__preUpdate": controller_Controller___preUpdate__P2162, + "__update": controller_Controller___update__P2163, }, }); -const controller_Button__C38558_VT = mkVTable({ +const controller_Button__C2189_VT = mkVTable({ name: "Button", numFields: 7, classNo: 17, lastSubtypeNo: 18, maxBgInstances: null, methods: { - "isPressed": controller_Button_isPressed__P38568, + "isPressed": controller_Button_isPressed__P2200, }, iface: { "_owner": null, @@ -42014,29 +40984,29 @@ const controller_Button__C38558_VT = mkVTable({ "set/_pressedElasped": null, "_repeatCount": null, "set/_repeatCount": null, - "handlerState": controller_Button_handlerState__P38559, - "toString": controller_Button_toString__P38560, - "raiseButtonUp": controller_Button_raiseButtonUp__P38561, - "raiseButtonDown": controller_Button_raiseButtonDown__P38562, - "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P38563, - "onEvent": controller_Button_onEvent__P38564, - "isPressed": controller_Button_isPressed__P38568, - "pressureLevel": controller_Button_pressureLevel__P38569, - "setPressed": controller_Button_setPressed__P38570, - "__update": controller_Button___update__P38571, - "runButtonEvents": controller_Button_runButtonEvents__P38572, - "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P38573, + "handlerState": controller_Button_handlerState__P4706, + "toString": controller_Button_toString__P2194, + "raiseButtonUp": controller_Button_raiseButtonUp__P4707, + "raiseButtonDown": controller_Button_raiseButtonDown__P4708, + "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P4709, + "onEvent": controller_Button_onEvent__P2196, + "isPressed": controller_Button_isPressed__P2200, + "pressureLevel": controller_Button_pressureLevel__P2201, + "setPressed": controller_Button_setPressed__P2202, + "__update": controller_Button___update__P2203, + "runButtonEvents": controller_Button_runButtonEvents__P4710, + "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P4711, }, - toStringMethod: controller_Button_toString__P38560, + toStringMethod: controller_Button_toString__P2194, }); -const controller_AnyButton__C38556_VT = mkVTable({ +const controller_AnyButton__C4704_VT = mkVTable({ name: "AnyButton", numFields: 7, classNo: 18, lastSubtypeNo: 18, maxBgInstances: null, methods: { - "isPressed": controller_AnyButton_isPressed__P38574, + "isPressed": controller_AnyButton_isPressed__P4712, }, iface: { "_owner": null, @@ -42053,21 +41023,21 @@ const controller_AnyButton__C38556_VT = mkVTable({ "set/_pressedElasped": null, "_repeatCount": null, "set/_repeatCount": null, - "isPressed": controller_AnyButton_isPressed__P38574, - "handlerState": controller_Button_handlerState__P38559, - "toString": controller_Button_toString__P38560, - "raiseButtonUp": controller_Button_raiseButtonUp__P38561, - "raiseButtonDown": controller_Button_raiseButtonDown__P38562, - "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P38563, - "onEvent": controller_Button_onEvent__P38564, - "pressureLevel": controller_Button_pressureLevel__P38569, - "setPressed": controller_Button_setPressed__P38570, - "__update": controller_Button___update__P38571, - "runButtonEvents": controller_Button_runButtonEvents__P38572, - "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P38573, + "isPressed": controller_AnyButton_isPressed__P4712, + "handlerState": controller_Button_handlerState__P4706, + "toString": controller_Button_toString__P2194, + "raiseButtonUp": controller_Button_raiseButtonUp__P4707, + "raiseButtonDown": controller_Button_raiseButtonDown__P4708, + "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P4709, + "onEvent": controller_Button_onEvent__P2196, + "pressureLevel": controller_Button_pressureLevel__P2201, + "setPressed": controller_Button_setPressed__P2202, + "__update": controller_Button___update__P2203, + "runButtonEvents": controller_Button_runButtonEvents__P4710, + "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P4711, }, }); -const game_GameOverConfig__C39311_VT = mkVTable({ +const game_GameOverConfig__C2972_VT = mkVTable({ name: "GameOverConfig", numFields: 14, classNo: 19, @@ -42104,10 +41074,10 @@ const game_GameOverConfig__C39311_VT = mkVTable({ "set/messageSetByUser": null, "scoringTypeSetByUser": null, "set/scoringTypeSetByUser": null, - "init": game_GameOverConfig_init__P39312, + "init": game_GameOverConfig_init__P2988, }, }); -const Math_FastRandom__C39622_VT = mkVTable({ +const Math_FastRandom__C3058_VT = mkVTable({ name: "FastRandom", numFields: 2, classNo: 20, @@ -42120,12 +41090,12 @@ const Math_FastRandom__C39622_VT = mkVTable({ "set/lfsr": null, "seed": null, "set/seed": null, - "next": Math_FastRandom_next__P39623, - "randomRange": Math_FastRandom_randomRange__P39624, - "pickRandom": Math_FastRandom_pickRandom__P39625, + "next": Math_FastRandom_next__P3061, + "randomRange": Math_FastRandom_randomRange__P3062, + "pickRandom": Math_FastRandom_pickRandom__P3063, }, }); -const scene_Scene__C38446_VT = mkVTable({ +const scene_Scene__C2842_VT = mkVTable({ name: "Scene", numFields: 25, classNo: 21, @@ -42184,101 +41154,73 @@ const scene_Scene__C38446_VT = mkVTable({ "set/_data": null, "previousScene": null, "set/previousScene": null, - "init": scene_Scene_init__P38447, - "data": scene_Scene_data__P38448, - "millis": scene_Scene_millis__P38449, - "addSprite": scene_Scene_addSprite__P38450, - "render": scene_Scene_render__P38452, + "init": scene_Scene_init__P2866, + "data": scene_Scene_data__P2867, + "millis": scene_Scene_millis__P2868, + "addSprite": scene_Scene_addSprite__P2869, + "render": scene_Scene_render__P2871, }, }); -const PhysicsEngine__C38804_VT = mkVTable({ - name: "PhysicsEngine", - numFields: 0, +const control_EventContext__C395_VT = mkVTable({ + name: "EventContext", + numFields: 10, classNo: 22, - lastSubtypeNo: 23, + lastSubtypeNo: 22, maxBgInstances: null, methods: { - "addSprite": PhysicsEngine_addSprite__P38805, - "removeSprite": PhysicsEngine_removeSprite__P38806, - "moveSprite": PhysicsEngine_moveSprite__P38807, - "draw": PhysicsEngine_draw__P38808, - "move": PhysicsEngine_move__P38809, }, iface: { - "addSprite": PhysicsEngine_addSprite__P38805, - "removeSprite": PhysicsEngine_removeSprite__P38806, - "moveSprite": PhysicsEngine_moveSprite__P38807, - "draw": PhysicsEngine_draw__P38808, - "move": PhysicsEngine_move__P38809, + "handlers": null, + "set/handlers": null, + "frameCallbacks": null, + "set/frameCallbacks": null, + "frameWorker": null, + "set/frameWorker": null, + "framesInSample": null, + "set/framesInSample": null, + "timeInSample": null, + "set/timeInSample": null, + "lastPerfDump": null, + "set/lastPerfDump": null, + "deltaTimeMillis": null, + "set/deltaTimeMillis": null, + "prevTimeMillis": null, + "set/prevTimeMillis": null, + "idleCallbacks": null, + "set/idleCallbacks": null, + "runningCallbacks": null, + "set/runningCallbacks": null, + "deltaTime": control_EventContext_deltaTime__P400, + "runCallbacks": control_EventContext_runCallbacks__P4419, + "registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P4420, + "register": control_EventContext_register__P401, + "unregister": control_EventContext_unregister__P402, + "registerFrameHandler": control_EventContext_registerFrameHandler__P403, + "registerHandler": control_EventContext_registerHandler__P405, }, }); -const ArcadePhysicsEngine__C38855_VT = mkVTable({ - name: "ArcadePhysicsEngine", - numFields: 6, +const PhysicsEngine__C2510_VT = mkVTable({ + name: "PhysicsEngine", + numFields: 0, classNo: 23, - lastSubtypeNo: 23, - maxBgInstances: null, - methods: { - "addSprite": ArcadePhysicsEngine_addSprite__P38864, - "removeSprite": ArcadePhysicsEngine_removeSprite__P38865, - "moveSprite": ArcadePhysicsEngine_moveSprite__P38874, - "draw": ArcadePhysicsEngine_draw__P38866, - "move": ArcadePhysicsEngine_move__P38867, - }, - 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__P38857, - "set/maxSpeed": ArcadePhysicsEngine_maxSpeed__P38858, - "minStep": ArcadePhysicsEngine_minStep__P38859, - "set/minStep": ArcadePhysicsEngine_minStep__P38860, - "maxStep": ArcadePhysicsEngine_maxStep__P38861, - "set/maxStep": ArcadePhysicsEngine_maxStep__P38862, - "addSprite": ArcadePhysicsEngine_addSprite__P38864, - "removeSprite": ArcadePhysicsEngine_removeSprite__P38865, - "draw": ArcadePhysicsEngine_draw__P38866, - "move": ArcadePhysicsEngine_move__P38867, - "createMovingSprite": ArcadePhysicsEngine_createMovingSprite__P38868, - "spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P38869, - "screenEdgeCollisions": ArcadePhysicsEngine_screenEdgeCollisions__P38870, - "tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P38871, - "tilemapOverlaps": ArcadePhysicsEngine_tilemapOverlaps__P38872, - "moveSprite": ArcadePhysicsEngine_moveSprite__P38874, - "canResolveClipping": ArcadePhysicsEngine_canResolveClipping__P38875, - "constrain": ArcadePhysicsEngine_constrain__P38876, - }, -}); -const scene_Background__C39037_VT = mkVTable({ - name: "Background", - numFields: 4, - classNo: 24, lastSubtypeNo: 24, maxBgInstances: null, methods: { + "addSprite": PhysicsEngine_addSprite__P2512, + "removeSprite": PhysicsEngine_removeSprite__P2513, + "moveSprite": PhysicsEngine_moveSprite__P2514, + "draw": PhysicsEngine_draw__P2515, + "move": PhysicsEngine_move__P2516, }, iface: { - "color": null, - "set/color": null, - "_image": null, - "set/_image": null, - "camera": null, - "set/camera": null, - "_layers": null, - "set/_layers": null, - "draw": scene_Background_draw__P39042, + "addSprite": PhysicsEngine_addSprite__P2512, + "removeSprite": PhysicsEngine_removeSprite__P2513, + "moveSprite": PhysicsEngine_moveSprite__P2514, + "draw": PhysicsEngine_draw__P2515, + "move": PhysicsEngine_move__P2516, }, }); -const scene_Camera__C39137_VT = mkVTable({ +const scene_Camera__C2780_VT = mkVTable({ name: "Camera", numFields: 10, classNo: 25, @@ -42307,148 +41249,122 @@ const scene_Camera__C39137_VT = mkVTable({ "set/shakeDuration": null, "shakeAmplitude": null, "set/shakeAmplitude": null, - "offsetX": scene_Camera_offsetX__P39138, - "set/offsetX": scene_Camera_offsetX__P39139, - "offsetY": scene_Camera_offsetY__P39140, - "set/offsetY": scene_Camera_offsetY__P39141, - "x": scene_Camera_x__P39142, - "y": scene_Camera_y__P39143, - "left": scene_Camera_left__P39144, - "top": scene_Camera_top__P39146, - "isUpdated": scene_Camera_isUpdated__P39149, - "update": scene_Camera_update__P39150, + "offsetX": scene_Camera_offsetX__P2785, + "set/offsetX": scene_Camera_offsetX__P2786, + "offsetY": scene_Camera_offsetY__P2787, + "set/offsetY": scene_Camera_offsetY__P2788, + "x": scene_Camera_x__P2789, + "y": scene_Camera_y__P2790, + "left": scene_Camera_left__P2791, + "top": scene_Camera_top__P2793, + "isUpdated": scene_Camera_isUpdated__P2796, + "update": scene_Camera_update__P2797, }, }); -const sprites_SpriteMap__C38751_VT = mkVTable({ - name: "SpriteMap", - numFields: 5, +const control_EventHandler__C4414_VT = mkVTable({ + name: "EventHandler", + numFields: 4, classNo: 26, lastSubtypeNo: 26, 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__P38752, - "overlaps": sprites_SpriteMap_overlaps__P38753, - "draw": sprites_SpriteMap_draw__P38754, - "resizeBuckets": sprites_SpriteMap_resizeBuckets__P38755, - "clear": sprites_SpriteMap_clear__P38756, - "key": sprites_SpriteMap_key__P38757, - "insertAtKey": sprites_SpriteMap_insertAtKey__P38758, - "insertAABB": sprites_SpriteMap_insertAABB__P38759, - "mergeAtKey": sprites_SpriteMap_mergeAtKey__P38760, - "toString": sprites_SpriteMap_toString__P38761, + "src": null, + "set/src": null, + "value": null, + "set/value": null, + "handler": null, + "set/handler": null, + "flags": null, + "set/flags": null, + "register": control_EventHandler_register__P4415, + "unregister": control_EventHandler_unregister__P4416, }, - toStringMethod: sprites_SpriteMap_toString__P38761, }); -const control_EventContext__C37813_VT = mkVTable({ - name: "EventContext", - numFields: 10, +const scene_Background__C2668_VT = mkVTable({ + name: "Background", + numFields: 4, classNo: 27, lastSubtypeNo: 27, maxBgInstances: null, methods: { }, iface: { - "handlers": null, - "set/handlers": null, - "frameCallbacks": null, - "set/frameCallbacks": null, - "frameWorker": null, - "set/frameWorker": null, - "framesInSample": null, - "set/framesInSample": null, - "timeInSample": null, - "set/timeInSample": null, - "lastPerfDump": null, - "set/lastPerfDump": null, - "deltaTimeMillis": null, - "set/deltaTimeMillis": null, - "prevTimeMillis": null, - "set/prevTimeMillis": null, - "idleCallbacks": null, - "set/idleCallbacks": null, - "runningCallbacks": null, - "set/runningCallbacks": null, - "deltaTime": control_EventContext_deltaTime__P37814, - "runCallbacks": control_EventContext_runCallbacks__P37815, - "registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P37816, - "register": control_EventContext_register__P37817, - "unregister": control_EventContext_unregister__P37818, - "registerFrameHandler": control_EventContext_registerFrameHandler__P37819, - "registerHandler": control_EventContext_registerHandler__P37821, + "color": null, + "set/color": null, + "_image": null, + "set/_image": null, + "camera": null, + "set/camera": null, + "_layers": null, + "set/_layers": null, + "draw": scene_Background_draw__P2677, }, }); -const control_EventHandler__C37808_VT = mkVTable({ - name: "EventHandler", - numFields: 4, +const scene_BackgroundLayer__C2678_VT = mkVTable({ + name: "BackgroundLayer", + numFields: 6, classNo: 28, lastSubtypeNo: 28, 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__P37809, - "unregister": control_EventHandler_unregister__P37810, + "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__P2686, }, }); -const sprites_BaseSprite__C38391_VT = mkVTable({ +const sprites_BaseSprite__C2094_VT = mkVTable({ name: "BaseSprite", numFields: 2, classNo: 29, lastSubtypeNo: 32, maxBgInstances: null, methods: { - "__visible": sprites_BaseSprite___visible__P38392, - "__draw": sprites_BaseSprite___draw__P38395, - "__drawCore": sprites_BaseSprite___drawCore__P38396, - "__update": sprites_BaseSprite___update__P38397, + "__visible": sprites_BaseSprite___visible__P2097, + "__draw": sprites_BaseSprite___draw__P2100, + "__drawCore": sprites_BaseSprite___drawCore__P2101, + "__update": sprites_BaseSprite___update__P2102, }, iface: { "_z": null, "set/_z": null, "id": null, "set/id": null, - "__visible": sprites_BaseSprite___visible__P38392, - "z": sprites_BaseSprite_z__P38393, - "set/z": sprites_BaseSprite_z__P38394, - "__draw": sprites_BaseSprite___draw__P38395, - "__drawCore": sprites_BaseSprite___drawCore__P38396, - "__update": sprites_BaseSprite___update__P38397, + "__visible": sprites_BaseSprite___visible__P2097, + "z": sprites_BaseSprite_z__P2098, + "set/z": sprites_BaseSprite_z__P2099, + "__draw": sprites_BaseSprite___draw__P2100, + "__drawCore": sprites_BaseSprite___drawCore__P2101, + "__update": sprites_BaseSprite___update__P2102, }, }); -const Sprite__C38662_VT = mkVTable({ +const Sprite__C2340_VT = mkVTable({ name: "Sprite", numFields: 30, classNo: 30, lastSubtypeNo: 30, maxBgInstances: null, methods: { - "__visible": Sprite___visible__P38695, - "__draw": sprites_BaseSprite___draw__P38395, - "__drawCore": Sprite___drawCore__P38716, - "__update": Sprite___update__P38717, - "setHitbox": Sprite_setHitbox__P38693, - "recalcSize": Sprite_recalcSize__P38696, - "drawSprite": Sprite_drawSprite__P38738, + "__visible": Sprite___visible__P2395, + "__draw": sprites_BaseSprite___draw__P2100, + "__drawCore": Sprite___drawCore__P2414, + "__update": Sprite___update__P2415, + "setHitbox": Sprite_setHitbox__P2393, + "recalcSize": Sprite_recalcSize__P4730, + "drawSprite": Sprite_drawSprite__P4734, }, iface: { "_z": null, @@ -42511,67 +41427,67 @@ const Sprite__C38662_VT = mkVTable({ "set/flags": null, "destroyHandler": null, "set/destroyHandler": null, - "x": Sprite_x__P38664, - "set/x": Sprite_x__P38665, - "y": Sprite_y__P38666, - "set/y": Sprite_y__P38667, - "vx": Sprite_vx__P38668, - "set/vx": Sprite_vx__P38669, - "vy": Sprite_vy__P38670, - "set/vy": Sprite_vy__P38671, - "ax": Sprite_ax__P38672, - "set/ax": Sprite_ax__P38673, - "ay": Sprite_ay__P38674, - "set/ay": Sprite_ay__P38675, - "fx": Sprite_fx__P38676, - "set/fx": Sprite_fx__P38677, - "fy": Sprite_fy__P38678, - "set/fy": Sprite_fy__P38679, - "sx": Sprite_sx__P38680, - "sy": Sprite_sy__P38682, - "data": Sprite_data__P38686, - "set/data": Sprite_data__P38687, - "image": Sprite_image__P38689, - "setImage": Sprite_setImage__P38690, - "calcDimensionalHash": Sprite_calcDimensionalHash__P38691, - "resetHitbox": Sprite_resetHitbox__P38692, - "setHitbox": Sprite_setHitbox__P38693, - "isStatic": Sprite_isStatic__P38694, - "__visible": Sprite___visible__P38695, - "recalcSize": Sprite_recalcSize__P38696, - "isScaled": Sprite_isScaled__P38697, - "width": Sprite_width__P38698, - "height": Sprite_height__P38699, - "left": Sprite_left__P38700, - "set/left": Sprite_left__P38701, - "right": Sprite_right__P38702, - "set/right": Sprite_right__P38703, - "top": Sprite_top__P38704, - "set/top": Sprite_top__P38705, - "bottom": Sprite_bottom__P38706, - "set/bottom": Sprite_bottom__P38707, - "kind": Sprite_kind__P38708, - "setKind": Sprite_setKind__P38709, - "isOutOfScreen": Sprite_isOutOfScreen__P38715, - "__drawCore": Sprite___drawCore__P38716, - "__update": Sprite___update__P38717, - "setFlag": Sprite_setFlag__P38720, - "overlapsWith": Sprite_overlapsWith__P38721, - "clearObstacles": Sprite_clearObstacles__P38726, - "registerObstacle": Sprite_registerObstacle__P38727, - "destroy": Sprite_destroy__P38729, - "_destroyCore": Sprite__destroyCore__P38730, - "toString": Sprite_toString__P38735, - "drawSay": Sprite_drawSay__P38736, - "drawDebug": Sprite_drawDebug__P38737, - "drawSprite": Sprite_drawSprite__P38738, - "z": sprites_BaseSprite_z__P38393, - "set/z": sprites_BaseSprite_z__P38394, - "__draw": sprites_BaseSprite___draw__P38395, + "x": Sprite_x__P2353, + "set/x": Sprite_x__P2354, + "y": Sprite_y__P2355, + "set/y": Sprite_y__P2356, + "vx": Sprite_vx__P2357, + "set/vx": Sprite_vx__P2358, + "vy": Sprite_vy__P2359, + "set/vy": Sprite_vy__P2360, + "ax": Sprite_ax__P2361, + "set/ax": Sprite_ax__P2362, + "ay": Sprite_ay__P2363, + "set/ay": Sprite_ay__P2364, + "fx": Sprite_fx__P2365, + "set/fx": Sprite_fx__P2366, + "fy": Sprite_fy__P2367, + "set/fy": Sprite_fy__P2368, + "sx": Sprite_sx__P2369, + "sy": Sprite_sy__P2371, + "data": Sprite_data__P2375, + "set/data": Sprite_data__P2376, + "image": Sprite_image__P2389, + "setImage": Sprite_setImage__P2390, + "calcDimensionalHash": Sprite_calcDimensionalHash__P2391, + "resetHitbox": Sprite_resetHitbox__P2392, + "setHitbox": Sprite_setHitbox__P2393, + "isStatic": Sprite_isStatic__P2394, + "__visible": Sprite___visible__P2395, + "recalcSize": Sprite_recalcSize__P4730, + "isScaled": Sprite_isScaled__P4731, + "width": Sprite_width__P2396, + "height": Sprite_height__P2397, + "left": Sprite_left__P2398, + "set/left": Sprite_left__P2399, + "right": Sprite_right__P2400, + "set/right": Sprite_right__P2401, + "top": Sprite_top__P2402, + "set/top": Sprite_top__P2403, + "bottom": Sprite_bottom__P2404, + "set/bottom": Sprite_bottom__P2405, + "kind": Sprite_kind__P2406, + "setKind": Sprite_setKind__P2407, + "isOutOfScreen": Sprite_isOutOfScreen__P2413, + "__drawCore": Sprite___drawCore__P2414, + "__update": Sprite___update__P2415, + "setFlag": Sprite_setFlag__P2418, + "overlapsWith": Sprite_overlapsWith__P2419, + "clearObstacles": Sprite_clearObstacles__P2424, + "registerObstacle": Sprite_registerObstacle__P2425, + "destroy": Sprite_destroy__P2427, + "_destroyCore": Sprite__destroyCore__P2428, + "toString": Sprite_toString__P2433, + "drawSay": Sprite_drawSay__P4732, + "drawDebug": Sprite_drawDebug__P4733, + "drawSprite": Sprite_drawSprite__P4734, + "z": sprites_BaseSprite_z__P2098, + "set/z": sprites_BaseSprite_z__P2099, + "__draw": sprites_BaseSprite___draw__P2100, }, - toStringMethod: Sprite_toString__P38735, + toStringMethod: Sprite_toString__P2433, }); -const tiles_TileMap__C39090_VT = mkVTable({ +const tiles_TileMap__C2734_VT = mkVTable({ name: "TileMap", numFields: 5, classNo: 33, @@ -42590,25 +41506,25 @@ const tiles_TileMap__C39090_VT = mkVTable({ "set/renderable": null, "handlerState": null, "set/handlerState": null, - "scale": tiles_TileMap_scale__P39091, - "set/scale": tiles_TileMap_scale__P39092, - "data": tiles_TileMap_data__P39093, - "offsetX": tiles_TileMap_offsetX__P39094, - "offsetY": tiles_TileMap_offsetY__P39095, - "areaWidth": tiles_TileMap_areaWidth__P39096, - "areaHeight": tiles_TileMap_areaHeight__P39097, - "layer": tiles_TileMap_layer__P39098, - "enabled": tiles_TileMap_enabled__P39100, - "getTile": tiles_TileMap_getTile__P39102, - "getTileIndex": tiles_TileMap_getTileIndex__P39103, - "draw": tiles_TileMap_draw__P39110, - "isObstacle": tiles_TileMap_isObstacle__P39111, - "getObstacle": tiles_TileMap_getObstacle__P39112, - "isOnWall": tiles_TileMap_isOnWall__P39113, - "getTileImage": tiles_TileMap_getTileImage__P39114, + "scale": tiles_TileMap_scale__P2737, + "set/scale": tiles_TileMap_scale__P2738, + "data": tiles_TileMap_data__P2739, + "offsetX": tiles_TileMap_offsetX__P2740, + "offsetY": tiles_TileMap_offsetY__P2741, + "areaWidth": tiles_TileMap_areaWidth__P2742, + "areaHeight": tiles_TileMap_areaHeight__P2743, + "layer": tiles_TileMap_layer__P2744, + "enabled": tiles_TileMap_enabled__P2746, + "getTile": tiles_TileMap_getTile__P2748, + "getTileIndex": tiles_TileMap_getTileIndex__P2749, + "draw": tiles_TileMap_draw__P4851, + "isObstacle": tiles_TileMap_isObstacle__P2755, + "getObstacle": tiles_TileMap_getObstacle__P2756, + "isOnWall": tiles_TileMap_isOnWall__P2757, + "getTileImage": tiles_TileMap_getTileImage__P2758, }, }); -const tiles_TileMapData__C39075_VT = mkVTable({ +const tiles_TileMapData__C2716_VT = mkVTable({ name: "TileMapData", numFields: 7, classNo: 34, @@ -42631,45 +41547,21 @@ const tiles_TileMapData__C39075_VT = mkVTable({ "set/_width": null, "_height": null, "set/_height": null, - "width": tiles_TileMapData_width__P39076, - "height": tiles_TileMapData_height__P39077, - "scale": tiles_TileMapData_scale__P39078, - "set/scale": tiles_TileMapData_scale__P39079, - "getTile": tiles_TileMapData_getTile__P39080, - "getTileImage": tiles_TileMapData_getTileImage__P39083, - "isWall": tiles_TileMapData_isWall__P39085, - "isOutsideMap": tiles_TileMapData_isOutsideMap__P39086, - }, -}); -const scene_BackgroundLayer__C39044_VT = mkVTable({ - name: "BackgroundLayer", - numFields: 6, - classNo: 35, - lastSubtypeNo: 35, - 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__P39045, + "width": tiles_TileMapData_width__P2718, + "height": tiles_TileMapData_height__P2719, + "scale": tiles_TileMapData_scale__P2720, + "set/scale": tiles_TileMapData_scale__P2721, + "getTile": tiles_TileMapData_getTile__P2722, + "getTileImage": tiles_TileMapData_getTileImage__P2725, + "isWall": tiles_TileMapData_isWall__P2727, + "isOutsideMap": tiles_TileMapData_isOutsideMap__P2728, }, }); -const control_FrameCallback__C37807_VT = mkVTable({ +const control_FrameCallback__C392_VT = mkVTable({ name: "FrameCallback", numFields: 2, - classNo: 36, - lastSubtypeNo: 36, + classNo: 35, + lastSubtypeNo: 35, maxBgInstances: null, methods: { }, @@ -42680,11 +41572,11 @@ const control_FrameCallback__C37807_VT = mkVTable({ "set/handler": null, }, }); -const control_PollEvent__C37768_VT = mkVTable({ +const control_PollEvent__C4393_VT = mkVTable({ name: "PollEvent", numFields: 6, - classNo: 37, - lastSubtypeNo: 37, + classNo: 36, + lastSubtypeNo: 36, maxBgInstances: null, methods: { }, @@ -42703,7 +41595,85 @@ const control_PollEvent__C37768_VT = mkVTable({ "set/once": null, }, }); -const scene_systemMenu_PauseMenu__C39642_VT = mkVTable({ +const ArcadePhysicsEngine__C2526_VT = mkVTable({ + name: "ArcadePhysicsEngine", + numFields: 6, + classNo: 24, + lastSubtypeNo: 24, + maxBgInstances: null, + methods: { + "addSprite": ArcadePhysicsEngine_addSprite__P2535, + "removeSprite": ArcadePhysicsEngine_removeSprite__P2536, + "moveSprite": ArcadePhysicsEngine_moveSprite__P2540, + "draw": ArcadePhysicsEngine_draw__P2537, + "move": ArcadePhysicsEngine_move__P2538, + }, + 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__P2528, + "set/maxSpeed": ArcadePhysicsEngine_maxSpeed__P2529, + "minStep": ArcadePhysicsEngine_minStep__P2530, + "set/minStep": ArcadePhysicsEngine_minStep__P2531, + "maxStep": ArcadePhysicsEngine_maxStep__P2532, + "set/maxStep": ArcadePhysicsEngine_maxStep__P2533, + "addSprite": ArcadePhysicsEngine_addSprite__P2535, + "removeSprite": ArcadePhysicsEngine_removeSprite__P2536, + "draw": ArcadePhysicsEngine_draw__P2537, + "move": ArcadePhysicsEngine_move__P2538, + "createMovingSprite": ArcadePhysicsEngine_createMovingSprite__P4775, + "spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P4776, + "screenEdgeCollisions": ArcadePhysicsEngine_screenEdgeCollisions__P4777, + "tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P4778, + "tilemapOverlaps": ArcadePhysicsEngine_tilemapOverlaps__P4779, + "moveSprite": ArcadePhysicsEngine_moveSprite__P2540, + "canResolveClipping": ArcadePhysicsEngine_canResolveClipping__P4780, + "constrain": ArcadePhysicsEngine_constrain__P4781, + }, +}); +const sprites_SpriteMap__C2445_VT = mkVTable({ + name: "SpriteMap", + numFields: 5, + classNo: 37, + lastSubtypeNo: 37, + maxBgInstances: null, + methods: { + }, + iface: { + "cellWidth": null, + "set/cellWidth": null, + "cellHeight": null, + "set/cellHeight": null, + "rowCount": null, + "set/rowCount": null, + "columnCount": null, + "set/columnCount": null, + "buckets": null, + "set/buckets": null, + "neighbors": sprites_SpriteMap_neighbors__P2447, + "overlaps": sprites_SpriteMap_overlaps__P2448, + "draw": sprites_SpriteMap_draw__P2449, + "resizeBuckets": sprites_SpriteMap_resizeBuckets__P2450, + "clear": sprites_SpriteMap_clear__P2451, + "key": sprites_SpriteMap_key__P4738, + "insertAtKey": sprites_SpriteMap_insertAtKey__P4739, + "insertAABB": sprites_SpriteMap_insertAABB__P2452, + "mergeAtKey": sprites_SpriteMap_mergeAtKey__P4740, + "toString": sprites_SpriteMap_toString__P2453, + }, + toStringMethod: sprites_SpriteMap_toString__P2453, +}); +const scene_systemMenu_PauseMenu__C3094_VT = mkVTable({ name: "PauseMenu", numFields: 7, classNo: 38, @@ -42726,15 +41696,15 @@ const scene_systemMenu_PauseMenu__C39642_VT = mkVTable({ "set/scrollOffset": null, "generator": null, "set/generator": null, - "show": scene_systemMenu_PauseMenu_show__P39643, - "onUpdate": scene_systemMenu_PauseMenu_onUpdate__P39644, - "setSelection": scene_systemMenu_PauseMenu_setSelection__P39645, - "drawText": scene_systemMenu_PauseMenu_drawText__P39646, - "dispose": scene_systemMenu_PauseMenu_dispose__P39647, - "updateScrollTarget": scene_systemMenu_PauseMenu_updateScrollTarget__P39648, + "show": scene_systemMenu_PauseMenu_show__P3096, + "onUpdate": scene_systemMenu_PauseMenu_onUpdate__P3097, + "setSelection": scene_systemMenu_PauseMenu_setSelection__P3098, + "drawText": scene_systemMenu_PauseMenu_drawText__P3099, + "dispose": scene_systemMenu_PauseMenu_dispose__P3100, + "updateScrollTarget": scene_systemMenu_PauseMenu_updateScrollTarget__P5178, }, }); -const scene_systemMenu_MenuOption__C39633_VT = mkVTable({ +const scene_systemMenu_MenuOption__C3086_VT = mkVTable({ name: "MenuOption", numFields: 8, classNo: 39, @@ -42759,16 +41729,16 @@ const scene_systemMenu_MenuOption__C39633_VT = mkVTable({ "set/getText": null, "action": null, "set/action": null, - "show": scene_systemMenu_MenuOption_show__P39634, - "position": scene_systemMenu_MenuOption_position__P39635, - "setOffset": scene_systemMenu_MenuOption_setOffset__P39636, - "setTheme": scene_systemMenu_MenuOption_setTheme__P39637, - "setState": scene_systemMenu_MenuOption_setState__P39638, - "dispose": scene_systemMenu_MenuOption_dispose__P39639, - "updateCard": scene_systemMenu_MenuOption_updateCard__P39640, + "show": scene_systemMenu_MenuOption_show__P3088, + "position": scene_systemMenu_MenuOption_position__P3089, + "setOffset": scene_systemMenu_MenuOption_setOffset__P3090, + "setTheme": scene_systemMenu_MenuOption_setTheme__P3091, + "setState": scene_systemMenu_MenuOption_setState__P3092, + "dispose": scene_systemMenu_MenuOption_dispose__P3093, + "updateCard": scene_systemMenu_MenuOption_updateCard__P5177, }, }); -const effects_ParticleEffect__C39887_VT = mkVTable({ +const effects_ParticleEffect__C3261_VT = mkVTable({ name: "ParticleEffect", numFields: 3, classNo: 40, @@ -42783,11 +41753,11 @@ const effects_ParticleEffect__C39887_VT = mkVTable({ "set/defaultRate": null, "defaultLifespan": null, "set/defaultLifespan": null, - "start": effects_ParticleEffect_start__P39888, - "destroy": effects_ParticleEffect_destroy__P39889, + "start": effects_ParticleEffect_start__P3263, + "destroy": effects_ParticleEffect_destroy__P3264, }, }); -const effects_ImageEffect__C39940_VT = mkVTable({ +const effects_ImageEffect__C3289_VT = mkVTable({ name: "ImageEffect", numFields: 4, classNo: 42, @@ -42804,11 +41774,11 @@ const effects_ImageEffect__C39940_VT = mkVTable({ "set/fastRandom": null, "times": null, "set/times": null, - "applyTo": effects_ImageEffect_applyTo__P39941, - "change": effects_ImageEffect_change__P39942, + "applyTo": effects_ImageEffect_applyTo__P3291, + "change": effects_ImageEffect_change__P3292, }, }); -const game_Hitbox__C38596_VT = mkVTable({ +const game_Hitbox__C2208_VT = mkVTable({ name: "Hitbox", numFields: 6, classNo: 43, @@ -42829,28 +41799,28 @@ const game_Hitbox__C38596_VT = mkVTable({ "set/width": null, "height": null, "set/height": null, - "left": game_Hitbox_left__P38597, - "top": game_Hitbox_top__P38598, - "right": game_Hitbox_right__P38599, - "bottom": game_Hitbox_bottom__P38600, - "isValid": game_Hitbox_isValid__P38601, - "contains": game_Hitbox_contains__P38602, - "updateIfInvalid": game_Hitbox_updateIfInvalid__P38603, - "overlapsWith": game_Hitbox_overlapsWith__P38604, + "left": game_Hitbox_left__P2216, + "top": game_Hitbox_top__P2217, + "right": game_Hitbox_right__P2218, + "bottom": game_Hitbox_bottom__P2219, + "isValid": game_Hitbox_isValid__P2220, + "contains": game_Hitbox_contains__P2221, + "updateIfInvalid": game_Hitbox_updateIfInvalid__P2222, + "overlapsWith": game_Hitbox_overlapsWith__P2223, }, }); -const particles_ParticleSource__C39760_VT = mkVTable({ +const particles_ParticleSource__C3150_VT = mkVTable({ name: "ParticleSource", numFields: 13, classNo: 31, lastSubtypeNo: 31, maxBgInstances: null, methods: { - "__visible": sprites_BaseSprite___visible__P38392, - "__draw": particles_ParticleSource___draw__P39762, - "__drawCore": sprites_BaseSprite___drawCore__P38396, - "__update": sprites_BaseSprite___update__P38397, - "updateParticle": particles_ParticleSource_updateParticle__P39776, + "__visible": sprites_BaseSprite___visible__P2097, + "__draw": particles_ParticleSource___draw__P3156, + "__drawCore": sprites_BaseSprite___drawCore__P2101, + "__update": sprites_BaseSprite___update__P2102, + "updateParticle": particles_ParticleSource_updateParticle__P5263, }, iface: { "_z": null, @@ -42879,28 +41849,28 @@ const particles_ParticleSource__C39760_VT = mkVTable({ "set/ax": null, "ay": null, "set/ay": null, - "__draw": particles_ParticleSource___draw__P39762, - "_update": particles_ParticleSource__update__P39763, - "_prune": particles_ParticleSource__prune__P39764, - "setAcceleration": particles_ParticleSource_setAcceleration__P39765, - "setRelativeToCamera": particles_ParticleSource_setRelativeToCamera__P39767, - "enabled": particles_ParticleSource_enabled__P39768, - "set/enabled": particles_ParticleSource_enabled__P39769, - "destroy": particles_ParticleSource_destroy__P39770, - "clear": particles_ParticleSource_clear__P39771, - "setAnchor": particles_ParticleSource_setAnchor__P39772, - "setRate": particles_ParticleSource_setRate__P39773, - "setFactory": particles_ParticleSource_setFactory__P39775, - "updateParticle": particles_ParticleSource_updateParticle__P39776, - "drawParticle": particles_ParticleSource_drawParticle__P39777, - "__visible": sprites_BaseSprite___visible__P38392, - "z": sprites_BaseSprite_z__P38393, - "set/z": sprites_BaseSprite_z__P38394, - "__drawCore": sprites_BaseSprite___drawCore__P38396, - "__update": sprites_BaseSprite___update__P38397, + "__draw": particles_ParticleSource___draw__P3156, + "_update": particles_ParticleSource__update__P3157, + "_prune": particles_ParticleSource__prune__P3158, + "setAcceleration": particles_ParticleSource_setAcceleration__P3159, + "setRelativeToCamera": particles_ParticleSource_setRelativeToCamera__P3161, + "enabled": particles_ParticleSource_enabled__P3162, + "set/enabled": particles_ParticleSource_enabled__P3163, + "destroy": particles_ParticleSource_destroy__P3164, + "clear": particles_ParticleSource_clear__P3165, + "setAnchor": particles_ParticleSource_setAnchor__P3166, + "setRate": particles_ParticleSource_setRate__P3167, + "setFactory": particles_ParticleSource_setFactory__P3169, + "updateParticle": particles_ParticleSource_updateParticle__P5263, + "drawParticle": particles_ParticleSource_drawParticle__P5264, + "__visible": sprites_BaseSprite___visible__P2097, + "z": sprites_BaseSprite_z__P2098, + "set/z": sprites_BaseSprite_z__P2099, + "__drawCore": sprites_BaseSprite___drawCore__P2101, + "__update": sprites_BaseSprite___update__P2102, }, }); -const sprites_SpriteSet__C38768_VT = mkVTable({ +const sprites_SpriteSet__C2462_VT = mkVTable({ name: "SpriteSet", numFields: 1, classNo: 44, @@ -42911,25 +41881,25 @@ const sprites_SpriteSet__C38768_VT = mkVTable({ iface: { "_sprites": null, "set/_sprites": null, - "length": sprites_SpriteSet_length__P38770, - "add": sprites_SpriteSet_add__P38772, - "remove": sprites_SpriteSet_remove__P38774, - "contains": sprites_SpriteSet_contains__P38775, - "toString": sprites_SpriteSet_toString__P38778, + "length": sprites_SpriteSet_length__P2465, + "add": sprites_SpriteSet_add__P2467, + "remove": sprites_SpriteSet_remove__P2469, + "contains": sprites_SpriteSet_contains__P2470, + "toString": sprites_SpriteSet_toString__P2473, }, - toStringMethod: sprites_SpriteSet_toString__P38778, + toStringMethod: sprites_SpriteSet_toString__P2473, }); -const scene_Renderable__C39152_VT = mkVTable({ +const scene_Renderable__C2799_VT = mkVTable({ name: "Renderable", numFields: 4, classNo: 32, lastSubtypeNo: 32, maxBgInstances: null, methods: { - "__visible": scene_Renderable___visible__P39154, - "__draw": sprites_BaseSprite___draw__P38395, - "__drawCore": scene_Renderable___drawCore__P39155, - "__update": sprites_BaseSprite___update__P38397, + "__visible": scene_Renderable___visible__P2801, + "__draw": sprites_BaseSprite___draw__P2100, + "__drawCore": scene_Renderable___drawCore__P2802, + "__update": sprites_BaseSprite___update__P2102, }, iface: { "_z": null, @@ -42940,15 +41910,15 @@ const scene_Renderable__C39152_VT = mkVTable({ "set/handler": null, "shouldBeVisible": null, "set/shouldBeVisible": null, - "__visible": scene_Renderable___visible__P39154, - "__drawCore": scene_Renderable___drawCore__P39155, - "z": sprites_BaseSprite_z__P38393, - "set/z": sprites_BaseSprite_z__P38394, - "__draw": sprites_BaseSprite___draw__P38395, - "__update": sprites_BaseSprite___update__P38397, + "__visible": scene_Renderable___visible__P2801, + "__drawCore": scene_Renderable___drawCore__P2802, + "z": sprites_BaseSprite_z__P2098, + "set/z": sprites_BaseSprite_z__P2099, + "__draw": sprites_BaseSprite___draw__P2100, + "__update": sprites_BaseSprite___update__P2102, }, }); -const controller_ButtonHandler__C38589_VT = mkVTable({ +const controller_ButtonHandler__C2183_VT = mkVTable({ name: "ButtonHandler", numFields: 2, classNo: 45, @@ -42963,7 +41933,7 @@ const controller_ButtonHandler__C38589_VT = mkVTable({ "set/callback": null, }, }); -const controller_ButtonEventHandlerState__C38591_VT = mkVTable({ +const controller_ButtonEventHandlerState__C2185_VT = mkVTable({ name: "ButtonEventHandlerState", numFields: 3, classNo: 46, @@ -42980,7 +41950,7 @@ const controller_ButtonEventHandlerState__C38591_VT = mkVTable({ "set/system": null, }, }); -const effects_ScreenEffect__C39897_VT = mkVTable({ +const effects_ScreenEffect__C3265_VT = mkVTable({ name: "ScreenEffect", numFields: 5, classNo: 41, @@ -42999,34 +41969,34 @@ const effects_ScreenEffect__C39897_VT = mkVTable({ "set/source": null, "sceneDefaultRate": null, "set/sceneDefaultRate": null, - "start": effects_ParticleEffect_start__P39888, - "destroy": effects_ParticleEffect_destroy__P39889, + "start": effects_ParticleEffect_start__P3263, + "destroy": effects_ParticleEffect_destroy__P3264, }, }); -const particles_ParticleFactory__C39820_VT = mkVTable({ +const particles_ParticleFactory__C3186_VT = mkVTable({ name: "ParticleFactory", numFields: 0, classNo: 47, lastSubtypeNo: 51, maxBgInstances: null, methods: { - "createParticle": particles_ParticleFactory_createParticle__P39821, - "drawParticle": particles_ParticleFactory_drawParticle__P39822, + "createParticle": particles_ParticleFactory_createParticle__P3188, + "drawParticle": particles_ParticleFactory_drawParticle__P3189, }, iface: { - "createParticle": particles_ParticleFactory_createParticle__P39821, - "drawParticle": particles_ParticleFactory_drawParticle__P39822, + "createParticle": particles_ParticleFactory_createParticle__P3188, + "drawParticle": particles_ParticleFactory_drawParticle__P3189, }, }); -const particles_SprayFactory__C39824_VT = mkVTable({ +const particles_SprayFactory__C3190_VT = mkVTable({ name: "SprayFactory", numFields: 3, classNo: 48, lastSubtypeNo: 51, maxBgInstances: null, methods: { - "createParticle": particles_SprayFactory_createParticle__P39826, - "drawParticle": particles_SprayFactory_drawParticle__P39827, + "createParticle": particles_SprayFactory_createParticle__P3192, + "drawParticle": particles_SprayFactory_drawParticle__P3193, }, iface: { "speed": null, @@ -43035,21 +42005,21 @@ const particles_SprayFactory__C39824_VT = mkVTable({ "set/minAngle": null, "spread": null, "set/spread": null, - "createParticle": particles_SprayFactory_createParticle__P39826, - "drawParticle": particles_SprayFactory_drawParticle__P39827, - "setSpeed": particles_SprayFactory_setSpeed__P39828, - "setDirection": particles_SprayFactory_setDirection__P39829, + "createParticle": particles_SprayFactory_createParticle__P3192, + "drawParticle": particles_SprayFactory_drawParticle__P3193, + "setSpeed": particles_SprayFactory_setSpeed__P3194, + "setDirection": particles_SprayFactory_setDirection__P3195, }, }); -const particles_AreaFactory__C39831_VT = mkVTable({ +const particles_AreaFactory__C3196_VT = mkVTable({ name: "AreaFactory", numFields: 8, classNo: 49, lastSubtypeNo: 51, maxBgInstances: null, methods: { - "createParticle": particles_AreaFactory_createParticle__P39833, - "drawParticle": particles_AreaFactory_drawParticle__P39834, + "createParticle": particles_AreaFactory_createParticle__P3202, + "drawParticle": particles_AreaFactory_drawParticle__P3203, }, iface: { "speed": null, @@ -43068,21 +42038,21 @@ const particles_AreaFactory__C39831_VT = mkVTable({ "set/maxLifespan": null, "galois": null, "set/galois": null, - "createParticle": particles_AreaFactory_createParticle__P39833, - "drawParticle": particles_AreaFactory_drawParticle__P39834, - "setSpeed": particles_SprayFactory_setSpeed__P39828, - "setDirection": particles_SprayFactory_setDirection__P39829, + "createParticle": particles_AreaFactory_createParticle__P3202, + "drawParticle": particles_AreaFactory_drawParticle__P3203, + "setSpeed": particles_SprayFactory_setSpeed__P3194, + "setDirection": particles_SprayFactory_setDirection__P3195, }, }); -const particles_ShapeFactory__C39841_VT = mkVTable({ +const particles_ShapeFactory__C3212_VT = mkVTable({ name: "ShapeFactory", numFields: 11, classNo: 50, lastSubtypeNo: 51, maxBgInstances: null, methods: { - "createParticle": particles_ShapeFactory_createParticle__P39845, - "drawParticle": particles_ShapeFactory_drawParticle__P39844, + "createParticle": particles_ShapeFactory_createParticle__P3216, + "drawParticle": particles_ShapeFactory_drawParticle__P3215, }, iface: { "speed": null, @@ -43107,22 +42077,22 @@ const particles_ShapeFactory__C39841_VT = mkVTable({ "set/ox": null, "oy": null, "set/oy": null, - "addShape": particles_ShapeFactory_addShape__P39843, - "drawParticle": particles_ShapeFactory_drawParticle__P39844, - "createParticle": particles_ShapeFactory_createParticle__P39845, - "setSpeed": particles_SprayFactory_setSpeed__P39828, - "setDirection": particles_SprayFactory_setDirection__P39829, + "addShape": particles_ShapeFactory_addShape__P3214, + "drawParticle": particles_ShapeFactory_drawParticle__P3215, + "createParticle": particles_ShapeFactory_createParticle__P3216, + "setSpeed": particles_SprayFactory_setSpeed__P3194, + "setDirection": particles_SprayFactory_setDirection__P3195, }, }); -const particles_ConfettiFactory__C39847_VT = mkVTable({ +const particles_ConfettiFactory__C3217_VT = mkVTable({ name: "ConfettiFactory", numFields: 11, classNo: 51, lastSubtypeNo: 51, maxBgInstances: null, methods: { - "createParticle": particles_ShapeFactory_createParticle__P39845, - "drawParticle": particles_ShapeFactory_drawParticle__P39844, + "createParticle": particles_ShapeFactory_createParticle__P3216, + "drawParticle": particles_ShapeFactory_drawParticle__P3215, }, iface: { "speed": null, @@ -43147,14 +42117,14 @@ const particles_ConfettiFactory__C39847_VT = mkVTable({ "set/ox": null, "oy": null, "set/oy": null, - "addShape": particles_ShapeFactory_addShape__P39843, - "drawParticle": particles_ShapeFactory_drawParticle__P39844, - "createParticle": particles_ShapeFactory_createParticle__P39845, - "setSpeed": particles_SprayFactory_setSpeed__P39828, - "setDirection": particles_SprayFactory_setDirection__P39829, + "addShape": particles_ShapeFactory_addShape__P3214, + "drawParticle": particles_ShapeFactory_drawParticle__P3215, + "createParticle": particles_ShapeFactory_createParticle__P3216, + "setSpeed": particles_SprayFactory_setSpeed__P3194, + "setDirection": particles_SprayFactory_setDirection__P3195, }, }); -const particles_Particle__C39758_VT = mkVTable({ +const particles_Particle__C3131_VT = mkVTable({ name: "Particle", numFields: 8, classNo: 52, @@ -43181,7 +42151,7 @@ const particles_Particle__C39758_VT = mkVTable({ "set/color": null, }, }); -const music_Playable__C38047_VT = mkVTable({ +const music_Playable__C1911_VT = mkVTable({ name: "Playable", numFields: 1, classNo: 53, @@ -43194,7 +42164,7 @@ const music_Playable__C38047_VT = mkVTable({ "set/stopped": null, }, }); -const music_MelodyPlayable__C38220_VT = mkVTable({ +const music_MelodyPlayable__C1916_VT = mkVTable({ name: "MelodyPlayable", numFields: 2, classNo: 54, @@ -43209,7 +42179,7 @@ const music_MelodyPlayable__C38220_VT = mkVTable({ "set/melody": null, }, }); -const music_Melody__C37972_VT = mkVTable({ +const music_Melody__C1626_VT = mkVTable({ name: "Melody", numFields: 2, classNo: 55, @@ -43222,38 +42192,15 @@ const music_Melody__C37972_VT = mkVTable({ "set/_text": null, "_player": null, "set/_player": null, - "toString": music_Melody_toString__P37982, + "toString": music_Melody_toString__P1635, }, - toStringMethod: music_Melody_toString__P37982, + toStringMethod: music_Melody_toString__P1635, }); -const sprites_BaseSpriteSayRenderer__C38637_VT = mkVTable({ - name: "BaseSpriteSayRenderer", - numFields: 3, - classNo: 56, - lastSubtypeNo: 56, - maxBgInstances: null, - methods: { - "draw": sprites_BaseSpriteSayRenderer_draw__P38638, - "update": sprites_BaseSpriteSayRenderer_update__P38639, - "destroy": sprites_BaseSpriteSayRenderer_destroy__P38640, - }, - iface: { - "text": null, - "set/text": null, - "fgColor": null, - "set/fgColor": null, - "bgColor": null, - "set/bgColor": null, - "draw": sprites_BaseSpriteSayRenderer_draw__P38638, - "update": sprites_BaseSpriteSayRenderer_update__P38639, - "destroy": sprites_BaseSpriteSayRenderer_destroy__P38640, - }, -}); -const MovingSprite__C38853_VT = mkVTable({ +const MovingSprite__C2524_VT = mkVTable({ name: "MovingSprite", numFields: 7, - classNo: 57, - lastSubtypeNo: 57, + classNo: 56, + lastSubtypeNo: 56, maxBgInstances: null, methods: { }, @@ -43274,7 +42221,30 @@ const MovingSprite__C38853_VT = mkVTable({ "set/yStep": null, }, }); -const sprites_StaticObstacle__C38796_VT = mkVTable({ +const tiles_Location__C2692_VT = mkVTable({ + name: "Location", + numFields: 2, + classNo: 57, + lastSubtypeNo: 57, + maxBgInstances: null, + methods: { + }, + iface: { + "_row": null, + "set/_row": null, + "_col": null, + "set/_col": null, + "tileMap": tiles_Location_tileMap__P2694, + "column": tiles_Location_column__P2695, + "row": tiles_Location_row__P2696, + "x": tiles_Location_x__P2697, + "y": tiles_Location_y__P2698, + "left": tiles_Location_left__P2699, + "top": tiles_Location_top__P2700, + "tileSet": tiles_Location_tileSet__P2703, + }, +}); +const sprites_StaticObstacle__C2497_VT = mkVTable({ name: "StaticObstacle", numFields: 5, classNo: 58, @@ -43293,37 +42263,37 @@ const sprites_StaticObstacle__C38796_VT = mkVTable({ "set/top": null, "left": null, "set/left": null, - "x": sprites_StaticObstacle_x__P38797, - "y": sprites_StaticObstacle_y__P38798, - "height": sprites_StaticObstacle_height__P38799, - "width": sprites_StaticObstacle_width__P38800, + "x": sprites_StaticObstacle_x__P2504, + "y": sprites_StaticObstacle_y__P2505, + "height": sprites_StaticObstacle_height__P2506, + "width": sprites_StaticObstacle_width__P2507, }, }); -const tiles_Location__C39047_VT = mkVTable({ - name: "Location", - numFields: 2, +const sprites_BaseSpriteSayRenderer__C2259_VT = mkVTable({ + name: "BaseSpriteSayRenderer", + numFields: 3, classNo: 59, lastSubtypeNo: 59, maxBgInstances: null, methods: { + "draw": sprites_BaseSpriteSayRenderer_draw__P2261, + "update": sprites_BaseSpriteSayRenderer_update__P2262, + "destroy": sprites_BaseSpriteSayRenderer_destroy__P2263, }, iface: { - "_row": null, - "set/_row": null, - "_col": null, - "set/_col": null, - "tileMap": tiles_Location_tileMap__P39048, - "column": tiles_Location_column__P39049, - "row": tiles_Location_row__P39050, - "x": tiles_Location_x__P39051, - "y": tiles_Location_y__P39052, - "left": tiles_Location_left__P39053, - "top": tiles_Location_top__P39054, - "tileSet": tiles_Location_tileSet__P39057, + "text": null, + "set/text": null, + "fgColor": null, + "set/fgColor": null, + "bgColor": null, + "set/bgColor": null, + "draw": sprites_BaseSpriteSayRenderer_draw__P2261, + "update": sprites_BaseSpriteSayRenderer_update__P2262, + "destroy": sprites_BaseSpriteSayRenderer_destroy__P2263, }, }); const breakpoints = setupDebugger(1, []) -return _main___P61151 +return _main___P18448 }) diff --git a/assets/version.txt b/assets/version.txt index bd52db8..afaf360 100644 --- a/assets/version.txt +++ b/assets/version.txt @@ -1 +1 @@ -0.0.0 \ No newline at end of file +1.0.0 \ No newline at end of file diff --git a/pxt.json b/pxt.json index 411c4e6..e48294a 100644 --- a/pxt.json +++ b/pxt.json @@ -1,5 +1,6 @@ { "name": "ExtraNumberBlocks", + "version": "1.0.0", "description": "", "dependencies": { "device": "*"