pxt-common-packages 9.3.11 → 9.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/built/common-sim.d.ts +2 -0
  2. package/built/common-sim.js +38 -0
  3. package/libs/azureiot/built/debug/binary.js +469 -464
  4. package/libs/color/built/debug/binary.js +8 -8
  5. package/libs/color-sensor/built/debug/binary.js +8 -8
  6. package/libs/controller/built/debug/binary.js +7126 -6975
  7. package/libs/controller---none/built/debug/binary.js +7105 -6954
  8. package/libs/core---esp32/pins.cpp +30 -4
  9. package/libs/core---esp32/shims.d.ts +15 -0
  10. package/libs/core---esp32s2/shims.d.ts +15 -0
  11. package/libs/datalogger/built/debug/binary.js +63 -63
  12. package/libs/edge-connector/built/debug/binary.js +8 -8
  13. package/libs/esp32/built/debug/binary.js +470 -465
  14. package/libs/game/_locales/game-jsdoc-strings.json +10 -1
  15. package/libs/game/_locales/game-strings.json +18 -2
  16. package/libs/game/assetTemplates.ts +2 -0
  17. package/libs/game/built/debug/binary.js +7018 -6867
  18. package/libs/game/docs/reference/scene/get-tile-location.md +96 -0
  19. package/libs/game/docs/reference/scene/get-tiles-by-type.md +64 -43
  20. package/libs/game/docs/reference/scene/is-hitting-tile.md +87 -0
  21. package/libs/game/docs/reference/scene/on-hit-wall.md +88 -0
  22. package/libs/game/docs/reference/scene/on-overlap-tile.md +88 -0
  23. package/libs/game/docs/reference/scene/place-on-random-tile.md +95 -41
  24. package/libs/game/docs/reference/scene/place-on-tile.md +88 -0
  25. package/libs/game/docs/reference/scene/set-tile-at.md +45 -41
  26. package/libs/game/docs/reference/scene/set-wall-at.md +86 -0
  27. package/libs/game/docs/reference/scene/tile-at-location-equals.md +97 -0
  28. package/libs/game/docs/reference/scene/tile-kind-at.md +118 -0
  29. package/libs/game/docs/reference/scene.md +18 -16
  30. package/libs/game/physics.ts +1 -1
  31. package/libs/game/scenes.ts +5 -1
  32. package/libs/game/sprite.ts +23 -6
  33. package/libs/game/spriteevents.ts +7 -7
  34. package/libs/game/sprites.ts +16 -0
  35. package/libs/game/tilemap.ts +172 -26
  36. package/libs/lcd/built/debug/binary.js +8 -8
  37. package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
  38. package/libs/lora/built/debug/binary.js +8 -8
  39. package/libs/matrix-keypad/built/debug/binary.js +8 -8
  40. package/libs/mqtt/built/debug/binary.js +176 -176
  41. package/libs/net/built/debug/binary.js +176 -176
  42. package/libs/net/controller.ts +15 -1
  43. package/libs/net-game/built/debug/binary.js +8896 -8680
  44. package/libs/palette/built/debug/binary.js +7017 -6866
  45. package/libs/pixel/built/debug/binary.js +8 -8
  46. package/libs/power/built/debug/binary.js +8 -8
  47. package/libs/proximity/built/debug/binary.js +8 -8
  48. package/libs/radio/built/debug/binary.js +8 -8
  49. package/libs/radio-broadcast/built/debug/binary.js +8 -8
  50. package/libs/rotary-encoder/built/debug/binary.js +8 -8
  51. package/libs/screen/_locales/screen-jsdoc-strings.json +1 -0
  52. package/libs/screen/built/debug/binary.js +50 -50
  53. package/libs/screen/image.cpp +45 -0
  54. package/libs/screen/image.ts +26 -0
  55. package/libs/screen/sim/image.ts +42 -0
  56. package/libs/servo/built/debug/binary.js +8 -8
  57. package/libs/storyboard/built/debug/binary.js +7017 -6866
  58. package/package.json +1 -1
@@ -638,6 +638,48 @@ namespace pxsim.ImageMethods {
638
638
  fy += stepFY
639
639
  }
640
640
  }
641
+
642
+ export function _blit(img: RefImage, src: RefImage, args: RefCollection) {
643
+ blit(img, src, args);
644
+ }
645
+
646
+ export function blit(dst: RefImage, src: RefImage, args: RefCollection) {
647
+ const xDst = args.getAt(0) as number;
648
+ const yDst = args.getAt(1) as number;
649
+ const wDst = args.getAt(2) as number;
650
+ const hDst = args.getAt(3) as number;
651
+ const xSrc = args.getAt(4) as number;
652
+ const ySrc = args.getAt(5) as number;
653
+ const wSrc = args.getAt(6) as number;
654
+ const hSrc = args.getAt(7) as number;
655
+ const transparent = args.getAt(8) as number;
656
+
657
+ const xSrcStep = ((wSrc << 16) / wDst) | 0;
658
+ const ySrcStep = ((hSrc << 16) / hDst) | 0;
659
+
660
+ const xDstClip = Math.abs(Math.min(0, xDst));
661
+ const yDstClip = Math.abs(Math.min(0, yDst));
662
+ const xDstStart = xDst + xDstClip;
663
+ const yDstStart = yDst + yDstClip;
664
+ const xDstEnd = Math.min(dst._width, xDst + wDst);
665
+ const yDstEnd = Math.min(dst._height, yDst + hDst);
666
+
667
+ const xSrcStart = Math.max(0, (xSrc << 16) + xDstClip * xSrcStep);
668
+ const ySrcStart = Math.max(0, (ySrc << 16) + yDstClip * ySrcStep);
669
+ const xSrcEnd = Math.min(src._width, xSrc + wSrc) << 16;
670
+ const ySrcEnd = Math.min(src._height, ySrc + hSrc) << 16;
671
+
672
+ for (let yDstCur = yDstStart, ySrcCur = ySrcStart; yDstCur < yDstEnd && ySrcCur < ySrcEnd; ++yDstCur, ySrcCur += ySrcStep) {
673
+ const ySrcCurI = ySrcCur >> 16;
674
+ for (let xDstCur = xDstStart, xSrcCur = xSrcStart; xDstCur < xDstEnd && xSrcCur < xSrcEnd; ++xDstCur, xSrcCur += xSrcStep) {
675
+ const xSrcCurI = xSrcCur >> 16;
676
+ const cSrc = getPixel(src, xSrcCurI, ySrcCurI);
677
+ if (!transparent || cSrc) {
678
+ setPixel(dst, xDstCur, yDstCur, cSrc);
679
+ }
680
+ }
681
+ }
682
+ }
641
683
  }
642
684
 
643
685
 
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
56
56
  const pxsim_numops = pxsim.numops;
57
57
 
58
58
 
59
- function _main___P52340(s) {
59
+ function _main___P52372(s) {
60
60
  let r0 = s.r0, step = s.pc;
61
61
  s.pc = -1;
62
62
 
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
66
66
  switch (step) {
67
67
  case 0:
68
68
 
69
- globals._intervals___52581 = (undefined);
70
- globals._pollEventQueue___52594 = (undefined);
69
+ globals._intervals___52613 = (undefined);
70
+ globals._pollEventQueue___52626 = (undefined);
71
71
  r0 = undefined;
72
72
  return leave(s, r0)
73
73
  default: oops()
74
74
  } } }
75
- _main___P52340.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"targetoverrides.ts","functionName":"<main>","argumentNames":[]}
76
- _main___P52340.continuations = [ ]
75
+ _main___P52372.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"targetoverrides.ts","functionName":"<main>","argumentNames":[]}
76
+ _main___P52372.continuations = [ ]
77
77
 
78
- function _main___P52340_mk(s) {
78
+ function _main___P52372_mk(s) {
79
79
  checkStack(s.depth);
80
80
  return {
81
- parent: s, fn: _main___P52340, depth: s.depth + 1,
81
+ parent: s, fn: _main___P52372, depth: s.depth + 1,
82
82
  pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
83
83
  } }
84
84
 
@@ -88,5 +88,5 @@ function _main___P52340_mk(s) {
88
88
 
89
89
  const breakpoints = setupDebugger(1, [])
90
90
 
91
- return _main___P52340
91
+ return _main___P52372
92
92
  })