pxt-common-packages 10.1.2 → 10.1.5
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.
- package/built/common-sim.js +1 -1
- package/libs/azureiot/built/debug/binary.js +461 -461
- package/libs/color/built/debug/binary.js +8 -8
- package/libs/color-sensor/built/debug/binary.js +8 -8
- package/libs/controller/built/debug/binary.js +4323 -4278
- package/libs/controller---none/built/debug/binary.js +8093 -8048
- package/libs/datalogger/built/debug/binary.js +63 -63
- package/libs/edge-connector/built/debug/binary.js +8 -8
- package/libs/esp32/built/debug/binary.js +462 -462
- package/libs/game/built/debug/binary.js +7323 -7278
- package/libs/game/docs/reference/effects/clear-particles.md +37 -0
- package/libs/game/hitbox.ts +42 -1
- package/libs/game/sim/keymap.ts +1 -1
- package/libs/game/sprite.ts +5 -38
- package/libs/game/temp.d.ts +6 -0
- package/libs/game/tsconfig.json +21 -0
- package/libs/lcd/built/debug/binary.js +8 -8
- package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
- package/libs/lora/built/debug/binary.js +8 -8
- package/libs/matrix-keypad/built/debug/binary.js +8 -8
- package/libs/mqtt/built/debug/binary.js +176 -176
- package/libs/net/built/debug/binary.js +176 -176
- package/libs/net-game/built/debug/binary.js +9687 -9642
- package/libs/palette/built/debug/binary.js +7885 -7840
- package/libs/pixel/built/debug/binary.js +8 -8
- package/libs/power/built/debug/binary.js +8 -8
- package/libs/proximity/built/debug/binary.js +8 -8
- package/libs/radio/built/debug/binary.js +8 -8
- package/libs/radio-broadcast/built/debug/binary.js +8 -8
- package/libs/rotary-encoder/built/debug/binary.js +8 -8
- package/libs/screen/built/debug/binary.js +50 -50
- package/libs/servo/built/debug/binary.js +8 -8
- package/libs/sprite-scaling/built/debug/binary.js +7885 -7840
- package/libs/storyboard/built/debug/binary.js +7885 -7840
- package/package.json +1 -1
|
@@ -65,6 +65,43 @@ logs = sprites.create(img`
|
|
|
65
65
|
logs.startEffect(effects.fire)
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
+
### Immediately clear all particles
|
|
69
|
+
|
|
70
|
+
The clear particles block gets rid of the sources, but if you want to immediately get rid of all particles on the screen you need to also call `particles.clearAll()`, which is currently only available in text coding.
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
let logs: Sprite = null
|
|
74
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
75
|
+
effects.clearParticles(logs)
|
|
76
|
+
logs.startEffect(effects.blizzard, 750)
|
|
77
|
+
logs.startEffect(effects.bubbles, 2000)
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
controller.B.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
81
|
+
effects.clearParticles(logs)
|
|
82
|
+
particles.clearAll()
|
|
83
|
+
})
|
|
84
|
+
logs = sprites.create(img`
|
|
85
|
+
. . . . . . . . . . . . . . . .
|
|
86
|
+
. . . . . . . . . . . . . . . .
|
|
87
|
+
. . . . . . . . . . . . . . . .
|
|
88
|
+
. . . . . . . . . . . . . . . .
|
|
89
|
+
. . . . . . . . . . . . . . . .
|
|
90
|
+
. . . . . . . . . . . . e . . .
|
|
91
|
+
. . e e . . . . . . . e e . . .
|
|
92
|
+
. . . e e e . . . e e d e . . .
|
|
93
|
+
. . . e d e e e . e d e e . . .
|
|
94
|
+
. . . e e d d e e d d e . . . .
|
|
95
|
+
. . . . . e e d d e e . . . . .
|
|
96
|
+
. . . e e d e e d d e . . . . .
|
|
97
|
+
. . e e d d e e e d d e e . . .
|
|
98
|
+
. . e d d e e . e e e d e e . .
|
|
99
|
+
. . e e e . . . . . e e e . . .
|
|
100
|
+
. . . . . . . . . . . . . . . .
|
|
101
|
+
`, 0)
|
|
102
|
+
logs.startEffect(effects.fire)
|
|
103
|
+
```
|
|
104
|
+
|
|
68
105
|
## See also #seealso
|
|
69
106
|
|
|
70
107
|
[start effect](/reference/sprites/sprite/start-effect)
|
package/libs/game/hitbox.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
namespace game {
|
|
2
2
|
export class Hitbox {
|
|
3
|
-
hash:
|
|
3
|
+
hash: number;
|
|
4
4
|
parent: Sprite;
|
|
5
5
|
ox: Fx8;
|
|
6
6
|
oy: Fx8;
|
|
@@ -46,7 +46,48 @@ namespace game {
|
|
|
46
46
|
return (x >= this.left) && (x <= this.right) && (y >= this.top) && (y <= this.bottom);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
updateIfInvalid() {
|
|
50
|
+
if (this.isValid())
|
|
51
|
+
return;
|
|
52
|
+
|
|
53
|
+
const newHitBox = game.calculateHitBox(this.parent);
|
|
54
|
+
|
|
55
|
+
const oMinX = this.ox;
|
|
56
|
+
const oMinY = this.oy;
|
|
57
|
+
const oMaxX = Fx.add(oMinX, this.width);
|
|
58
|
+
const oMaxY = Fx.add(oMinY, this.height);
|
|
59
|
+
|
|
60
|
+
const nMinX = newHitBox.ox;
|
|
61
|
+
const nMinY = newHitBox.oy;
|
|
62
|
+
const nMaxX = Fx.add(nMinX, newHitBox.width);
|
|
63
|
+
const nMaxY = Fx.add(nMinY, newHitBox.height);
|
|
64
|
+
|
|
65
|
+
// total diff in x / y corners between the two hitboxes
|
|
66
|
+
const xDiff = Fx.add(
|
|
67
|
+
Fx.abs(Fx.sub(oMinX, nMinX)),
|
|
68
|
+
Fx.abs(Fx.sub(oMaxX, nMaxX))
|
|
69
|
+
);
|
|
70
|
+
const yDiff = Fx.add(
|
|
71
|
+
Fx.abs(Fx.sub(oMinY, nMinY)),
|
|
72
|
+
Fx.abs(Fx.sub(oMaxY, nMaxY))
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
// If it's just a small change to the hitbox on one axis,
|
|
76
|
+
// don't change the dimensions to avoid random clipping
|
|
77
|
+
if (xDiff > Fx.twoFx8) {
|
|
78
|
+
this.ox = nMinX;
|
|
79
|
+
this.width = newHitBox.width;
|
|
80
|
+
}
|
|
81
|
+
if (yDiff > Fx.twoFx8) {
|
|
82
|
+
this.oy = nMinY;
|
|
83
|
+
this.height = newHitBox.height;
|
|
84
|
+
}
|
|
85
|
+
this.hash = newHitBox.hash;
|
|
86
|
+
}
|
|
87
|
+
|
|
49
88
|
overlapsWith(other: Hitbox): boolean {
|
|
89
|
+
this.updateIfInvalid();
|
|
90
|
+
other.updateIfInvalid();
|
|
50
91
|
if (this.contains(other.left, other.top)) return true;
|
|
51
92
|
if (this.contains(other.left, other.bottom)) return true;
|
|
52
93
|
if (this.contains(other.right, other.top)) return true;
|
package/libs/game/sim/keymap.ts
CHANGED
|
@@ -90,7 +90,7 @@ namespace pxsim {
|
|
|
90
90
|
80, // P - Screenshot
|
|
91
91
|
82, // R - Gif
|
|
92
92
|
192, // Menu - '`' (backtick) button
|
|
93
|
-
|
|
93
|
+
8 // Reset - Backspace button
|
|
94
94
|
);
|
|
95
95
|
|
|
96
96
|
// Player 1 alternate mapping. This is cleared when the game sets any player keys explicitly
|
package/libs/game/sprite.ts
CHANGED
|
@@ -337,7 +337,7 @@ class Sprite extends sprites.BaseSprite {
|
|
|
337
337
|
}
|
|
338
338
|
|
|
339
339
|
calcDimensionalHash() {
|
|
340
|
-
return
|
|
340
|
+
return this._image.revision() + Fx.toIntShifted(this._width, 8) + Fx.toIntShifted(this._height, 16);
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
resetHitbox() {
|
|
@@ -346,43 +346,10 @@ class Sprite extends sprites.BaseSprite {
|
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
setHitbox() {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
this._hitbox =
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
const oMinX = this._hitbox.ox;
|
|
357
|
-
const oMinY = this._hitbox.oy;
|
|
358
|
-
const oMaxX = Fx.add(oMinX, this._hitbox.width);
|
|
359
|
-
const oMaxY = Fx.add(oMinY, this._hitbox.height);
|
|
360
|
-
|
|
361
|
-
const nMinX = newHitBox.ox;
|
|
362
|
-
const nMinY = newHitBox.oy;
|
|
363
|
-
const nMaxX = Fx.add(nMinX, newHitBox.width);
|
|
364
|
-
const nMaxY = Fx.add(nMinY, newHitBox.height);
|
|
365
|
-
|
|
366
|
-
// total diff in x / y corners between the two hitboxes
|
|
367
|
-
const xDiff = Fx.add(
|
|
368
|
-
Fx.abs(Fx.sub(oMinX, nMinX)),
|
|
369
|
-
Fx.abs(Fx.sub(oMaxX, nMaxX))
|
|
370
|
-
);
|
|
371
|
-
const yDiff = Fx.add(
|
|
372
|
-
Fx.abs(Fx.sub(oMinY, nMinY)),
|
|
373
|
-
Fx.abs(Fx.sub(oMaxY, nMaxY))
|
|
374
|
-
);
|
|
375
|
-
|
|
376
|
-
// If it's just a small change to the hitbox on one axis,
|
|
377
|
-
// don't change the dimensions to avoid random clipping
|
|
378
|
-
this._hitbox = newHitBox;
|
|
379
|
-
if (xDiff <= Fx.twoFx8) {
|
|
380
|
-
this._hitbox.ox = oMinX;
|
|
381
|
-
this._hitbox.width = Fx.sub(oMaxX, oMinX);
|
|
382
|
-
}
|
|
383
|
-
if (yDiff <= Fx.twoFx8) {
|
|
384
|
-
this._hitbox.oy = oMinY;
|
|
385
|
-
this._hitbox.height = Fx.sub(oMaxY, oMinY);
|
|
349
|
+
if (this._hitbox) {
|
|
350
|
+
this._hitbox.updateIfInvalid();
|
|
351
|
+
} else {
|
|
352
|
+
this._hitbox = game.calculateHitBox(this);
|
|
386
353
|
}
|
|
387
354
|
}
|
|
388
355
|
|
package/libs/game/temp.d.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es5",
|
|
4
|
+
"noImplicitAny": true,
|
|
5
|
+
"noImplicitReturns": true,
|
|
6
|
+
"outDir": "../built",
|
|
7
|
+
"newLine": "LF",
|
|
8
|
+
"sourceMap": false,
|
|
9
|
+
"types": []
|
|
10
|
+
},
|
|
11
|
+
"include": [
|
|
12
|
+
"*.ts",
|
|
13
|
+
"../settings/*.ts",
|
|
14
|
+
"../screen/*.ts",
|
|
15
|
+
"../mixer/*.ts",
|
|
16
|
+
"../power/*.ts",
|
|
17
|
+
"../core/*.ts",
|
|
18
|
+
"../base/*.ts",
|
|
19
|
+
"../../../pxt/libs/pxt-common/*.ts"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P48221(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.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___48464 = (undefined);
|
|
70
|
+
globals._pollEventQueue___48477 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P48221.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"characterlcd.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P48221.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P48221_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P48221, 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___P48222_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P48221
|
|
92
92
|
})
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P96995(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.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___97238 = (undefined);
|
|
70
|
+
globals._pollEventQueue___97251 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P96995.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"tsl2591.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P96995.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P96995_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P96995, 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___P96998_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P96995
|
|
92
92
|
})
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P59523(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.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___59766 = (undefined);
|
|
70
|
+
globals._pollEventQueue___59779 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P59523.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"lora.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P59523.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P59523_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P59523, 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___P59524_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P59523
|
|
92
92
|
})
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P188067(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.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___188310 = (undefined);
|
|
70
|
+
globals._pollEventQueue___188323 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P188067.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"keypad.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P188067.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P188067_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P188067, 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___P188074_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P188067
|
|
92
92
|
})
|