pxt-common-packages 10.2.3 → 10.2.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.d.ts +5 -3
- package/built/common-sim.js +40 -17
- 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 +7386 -7294
- package/libs/controller---none/built/debug/binary.js +7365 -7273
- 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 +7278 -7186
- package/libs/game/multiplayer.cpp +1 -4
- package/libs/game/multiplayer.ts +13 -0
- package/libs/game/scene.ts +2 -0
- package/libs/game/sim/keymap.ts +1 -1
- package/libs/game/sim/multiplayer.ts +20 -14
- 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 +9066 -8974
- package/libs/palette/built/debug/binary.js +7277 -7185
- 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/screen/sim/state.ts +27 -5
- package/libs/servo/built/debug/binary.js +8 -8
- package/libs/sprite-scaling/built/debug/binary.js +7277 -7185
- package/libs/storyboard/built/debug/binary.js +7277 -7185
- package/package.json +2 -2
package/built/common-sim.d.ts
CHANGED
|
@@ -773,7 +773,7 @@ declare namespace pxsim {
|
|
|
773
773
|
}
|
|
774
774
|
}
|
|
775
775
|
declare namespace pxsim.multiplayer {
|
|
776
|
-
function postImage(im: pxsim.RefImage
|
|
776
|
+
function postImage(im: pxsim.RefImage): void;
|
|
777
777
|
function getCurrentImage(): pxsim.RefImage;
|
|
778
778
|
function setOrigin(origin: "client" | "server" | undefined): void;
|
|
779
779
|
function getOrigin(): string;
|
|
@@ -793,8 +793,8 @@ declare namespace pxsim {
|
|
|
793
793
|
}
|
|
794
794
|
interface MultiplayerImageMessage extends SimulatorMultiplayerMessage {
|
|
795
795
|
content: "Image";
|
|
796
|
-
|
|
797
|
-
|
|
796
|
+
image: RefBuffer;
|
|
797
|
+
palette: Uint8Array;
|
|
798
798
|
}
|
|
799
799
|
interface MultiplayerButtonEvent extends SimulatorMultiplayerMessage {
|
|
800
800
|
content: "Button";
|
|
@@ -1131,6 +1131,8 @@ declare namespace pxsim {
|
|
|
1131
1131
|
onChange: () => void;
|
|
1132
1132
|
constructor(paletteSrc: string[], w?: number, h?: number);
|
|
1133
1133
|
setScreenBrightness(b: number): void;
|
|
1134
|
+
paletteToUint8Array(): Uint8Array;
|
|
1135
|
+
setPaletteFromHtmlColors(src: string[]): void;
|
|
1134
1136
|
setPalette(buf: RefBuffer): void;
|
|
1135
1137
|
bpp(): 1 | 4;
|
|
1136
1138
|
didChange(): boolean;
|
package/built/common-sim.js
CHANGED
|
@@ -2527,7 +2527,7 @@ var pxsim;
|
|
|
2527
2527
|
}
|
|
2528
2528
|
clearMap(name) {
|
|
2529
2529
|
const keyCodes = this.mappings[name];
|
|
2530
|
-
keyCodes
|
|
2530
|
+
keyCodes && keyCodes.forEach(keyCode => delete this.keymap[keyCode]);
|
|
2531
2531
|
delete this.mappings[name];
|
|
2532
2532
|
}
|
|
2533
2533
|
}
|
|
@@ -2537,12 +2537,19 @@ var pxsim;
|
|
|
2537
2537
|
(function (pxsim) {
|
|
2538
2538
|
var multiplayer;
|
|
2539
2539
|
(function (multiplayer) {
|
|
2540
|
-
|
|
2540
|
+
const throttledImgPost = pxsim.U.throttle((msg) => {
|
|
2541
|
+
pxsim.getMultiplayerState().send(msg);
|
|
2542
|
+
}, 50, true);
|
|
2543
|
+
function postImage(im) {
|
|
2544
|
+
var _a;
|
|
2545
|
+
if (pxsim.getMultiplayerState().origin !== "server")
|
|
2546
|
+
return;
|
|
2541
2547
|
const asBuf = pxsim.image.toBuffer(im);
|
|
2542
|
-
pxsim.
|
|
2548
|
+
const sb = pxsim.board();
|
|
2549
|
+
throttledImgPost({
|
|
2543
2550
|
content: "Image",
|
|
2544
2551
|
image: asBuf,
|
|
2545
|
-
|
|
2552
|
+
palette: (_a = sb === null || sb === void 0 ? void 0 : sb.screenState) === null || _a === void 0 ? void 0 : _a.paletteToUint8Array(),
|
|
2546
2553
|
});
|
|
2547
2554
|
}
|
|
2548
2555
|
multiplayer.postImage = postImage;
|
|
@@ -2575,14 +2582,6 @@ var pxsim;
|
|
|
2575
2582
|
init(origin) {
|
|
2576
2583
|
this.origin = origin;
|
|
2577
2584
|
pxsim.runtime.board.addMessageListener(msg => this.messageHandler(msg));
|
|
2578
|
-
setInterval(() => {
|
|
2579
|
-
if (this.origin === "server") {
|
|
2580
|
-
const b = pxsim.board();
|
|
2581
|
-
const screenState = b && b.screenState;
|
|
2582
|
-
const lastImage = screenState && screenState.lastImage;
|
|
2583
|
-
lastImage && pxsim.multiplayer.postImage(lastImage, "broadcast-screen");
|
|
2584
|
-
}
|
|
2585
|
-
}, 50);
|
|
2586
2585
|
}
|
|
2587
2586
|
setButton(key, isPressed) {
|
|
2588
2587
|
if (this.origin === "client") {
|
|
@@ -2594,6 +2593,7 @@ var pxsim;
|
|
|
2594
2593
|
}
|
|
2595
2594
|
}
|
|
2596
2595
|
messageHandler(msg) {
|
|
2596
|
+
var _a;
|
|
2597
2597
|
if (!isMultiplayerMessage(msg)) {
|
|
2598
2598
|
return;
|
|
2599
2599
|
}
|
|
@@ -2604,11 +2604,15 @@ var pxsim;
|
|
|
2604
2604
|
msg.image.data = new Uint8Array(msg.image.data);
|
|
2605
2605
|
}
|
|
2606
2606
|
this.backgroundImage = pxsim.image.ofBuffer(msg.image);
|
|
2607
|
+
if (((_a = msg.palette) === null || _a === void 0 ? void 0 : _a.length) === 48) {
|
|
2608
|
+
const palBuffer = new pxsim.RefBuffer(msg.palette);
|
|
2609
|
+
pxsim.pxtcore.setPalette(palBuffer);
|
|
2610
|
+
}
|
|
2607
2611
|
}
|
|
2608
2612
|
}
|
|
2609
2613
|
else if (isButtonMessage(msg)) {
|
|
2610
2614
|
if (this.origin === "server") {
|
|
2611
|
-
pxsim.board().
|
|
2615
|
+
pxsim.board().handleKeyEvent(msg.button + (7 * (msg.clientNumber || 1)), // + 7 to make it player 2 controls,
|
|
2612
2616
|
msg.state === "Pressed" || msg.state === "Held");
|
|
2613
2617
|
}
|
|
2614
2618
|
}
|
|
@@ -4422,7 +4426,6 @@ var pxsim;
|
|
|
4422
4426
|
(function (pxsim) {
|
|
4423
4427
|
function htmlColorToUint32(hexColor) {
|
|
4424
4428
|
const ca = new Uint8ClampedArray(4);
|
|
4425
|
-
const ui = new Uint32Array(ca.buffer);
|
|
4426
4429
|
const v = parseInt(hexColor.replace(/#/, ""), 16);
|
|
4427
4430
|
ca[0] = (v >> 16) & 0xff;
|
|
4428
4431
|
ca[1] = (v >> 8) & 0xff;
|
|
@@ -4431,6 +4434,12 @@ var pxsim;
|
|
|
4431
4434
|
// convert to uint32 using target endian
|
|
4432
4435
|
return new Uint32Array(ca.buffer)[0];
|
|
4433
4436
|
}
|
|
4437
|
+
function UInt32ToRGB(col) {
|
|
4438
|
+
const ui = new Uint32Array(1);
|
|
4439
|
+
ui[0] = col;
|
|
4440
|
+
const ca = new Uint8ClampedArray(ui.buffer);
|
|
4441
|
+
return [ca[0], ca[1], ca[2]];
|
|
4442
|
+
}
|
|
4434
4443
|
class ScreenState {
|
|
4435
4444
|
constructor(paletteSrc, w = 0, h = 0) {
|
|
4436
4445
|
this.width = 0;
|
|
@@ -4442,9 +4451,7 @@ var pxsim;
|
|
|
4442
4451
|
if (!paletteSrc)
|
|
4443
4452
|
paletteSrc = ["#000000", "#ffffff"];
|
|
4444
4453
|
this.palette = new Uint32Array(paletteSrc.length);
|
|
4445
|
-
|
|
4446
|
-
this.palette[i] = htmlColorToUint32(paletteSrc[i]);
|
|
4447
|
-
}
|
|
4454
|
+
this.setPaletteFromHtmlColors(paletteSrc);
|
|
4448
4455
|
if (w) {
|
|
4449
4456
|
this.width = w;
|
|
4450
4457
|
this.height = h;
|
|
@@ -4455,6 +4462,22 @@ var pxsim;
|
|
|
4455
4462
|
setScreenBrightness(b) {
|
|
4456
4463
|
this.brightness = b | 0;
|
|
4457
4464
|
}
|
|
4465
|
+
paletteToUint8Array() {
|
|
4466
|
+
const out = new Uint8Array(this.palette.length * 3);
|
|
4467
|
+
for (let i = 0; i < this.palette.length; ++i) {
|
|
4468
|
+
const [r, g, b] = UInt32ToRGB(this.palette[i]);
|
|
4469
|
+
const s = 3 * i;
|
|
4470
|
+
out[s] = r;
|
|
4471
|
+
out[s + 1] = g;
|
|
4472
|
+
out[s + 2] = b;
|
|
4473
|
+
}
|
|
4474
|
+
return out;
|
|
4475
|
+
}
|
|
4476
|
+
setPaletteFromHtmlColors(src) {
|
|
4477
|
+
for (let i = 0; i < this.palette.length; ++i) {
|
|
4478
|
+
this.palette[i] = htmlColorToUint32(src[i]);
|
|
4479
|
+
}
|
|
4480
|
+
}
|
|
4458
4481
|
setPalette(buf) {
|
|
4459
4482
|
const ca = new Uint8ClampedArray(4);
|
|
4460
4483
|
const rd = new Uint32Array(ca.buffer);
|