pxt-arcade 1.11.10 → 1.11.12
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 +1 -1
- package/built/common-sim.js +7 -3
- package/built/sim.js +14 -7
- package/built/target.js +143 -143
- package/built/target.json +143 -143
- package/built/targetlight.json +5 -5
- package/docs/arts-and-crafts.md +1 -14
- package/docs/game-jam.md +2 -2
- package/docs/projects/SUMMARY.md +1 -2
- package/package.json +4 -4
package/built/common-sim.d.ts
CHANGED
|
@@ -794,7 +794,7 @@ declare namespace pxsim {
|
|
|
794
794
|
interface MultiplayerImageMessage extends SimulatorMultiplayerMessage {
|
|
795
795
|
content: "Image";
|
|
796
796
|
goal: string;
|
|
797
|
-
image:
|
|
797
|
+
image: RefBuffer;
|
|
798
798
|
}
|
|
799
799
|
interface MultiplayerButtonEvent extends SimulatorMultiplayerMessage {
|
|
800
800
|
content: "Button";
|
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
|
}
|
|
@@ -2565,6 +2565,7 @@ var pxsim;
|
|
|
2565
2565
|
return pxsim.board().multiplayerState;
|
|
2566
2566
|
}
|
|
2567
2567
|
pxsim.getMultiplayerState = getMultiplayerState;
|
|
2568
|
+
let postScreenInterval;
|
|
2568
2569
|
class MultiplayerState {
|
|
2569
2570
|
constructor() {
|
|
2570
2571
|
this.lastMessageId = 0;
|
|
@@ -2575,7 +2576,10 @@ var pxsim;
|
|
|
2575
2576
|
init(origin) {
|
|
2576
2577
|
this.origin = origin;
|
|
2577
2578
|
pxsim.runtime.board.addMessageListener(msg => this.messageHandler(msg));
|
|
2578
|
-
|
|
2579
|
+
if (postScreenInterval) {
|
|
2580
|
+
clearInterval(postScreenInterval);
|
|
2581
|
+
}
|
|
2582
|
+
postScreenInterval = setInterval(() => {
|
|
2579
2583
|
if (this.origin === "server") {
|
|
2580
2584
|
const b = pxsim.board();
|
|
2581
2585
|
const screenState = b && b.screenState;
|
|
@@ -2608,7 +2612,7 @@ var pxsim;
|
|
|
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
|
}
|
package/built/sim.js
CHANGED
|
@@ -146,7 +146,7 @@ var pxsim;
|
|
|
146
146
|
const old = ctrl.state[key];
|
|
147
147
|
if (old != pressed) {
|
|
148
148
|
ctrl.state[key] = pressed;
|
|
149
|
-
pxsim.board().
|
|
149
|
+
pxsim.board().setButton(key + (7 * (ctrl.player - 1)), pressed);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
})(pxsim || (pxsim = {}));
|
|
@@ -167,11 +167,11 @@ var pxsim;
|
|
|
167
167
|
const canvas = document.getElementById("game-screen");
|
|
168
168
|
const encoder = new TextEncoder();
|
|
169
169
|
const sendMsg = (msg) => {
|
|
170
|
-
var _a;
|
|
171
170
|
const data = encoder.encode(JSON.stringify(msg));
|
|
172
|
-
const
|
|
171
|
+
const board = pxsim.board();
|
|
172
|
+
const state = board && board.controlMessageState;
|
|
173
173
|
// queue in control sims
|
|
174
|
-
state
|
|
174
|
+
state && state.enqueue({
|
|
175
175
|
type: "messagepacket",
|
|
176
176
|
channel: "pointer-events",
|
|
177
177
|
broadcast: false,
|
|
@@ -440,6 +440,9 @@ var pxsim;
|
|
|
440
440
|
}
|
|
441
441
|
}
|
|
442
442
|
setButton(which, isPressed) {
|
|
443
|
+
// Disallow local input for player 2+ in multiplayer mode.
|
|
444
|
+
if (this.multiplayerState.origin && which > pxsim.Key.Menu)
|
|
445
|
+
return;
|
|
443
446
|
if (which) {
|
|
444
447
|
this.handleKeyEvent(which, isPressed);
|
|
445
448
|
}
|
|
@@ -2717,7 +2720,7 @@ var pxsim;
|
|
|
2717
2720
|
}
|
|
2718
2721
|
clearMap(name) {
|
|
2719
2722
|
const keyCodes = this.mappings[name];
|
|
2720
|
-
keyCodes
|
|
2723
|
+
keyCodes && keyCodes.forEach(keyCode => delete this.keymap[keyCode]);
|
|
2721
2724
|
delete this.mappings[name];
|
|
2722
2725
|
}
|
|
2723
2726
|
}
|
|
@@ -2755,6 +2758,7 @@ var pxsim;
|
|
|
2755
2758
|
return pxsim.board().multiplayerState;
|
|
2756
2759
|
}
|
|
2757
2760
|
pxsim.getMultiplayerState = getMultiplayerState;
|
|
2761
|
+
let postScreenInterval;
|
|
2758
2762
|
class MultiplayerState {
|
|
2759
2763
|
constructor() {
|
|
2760
2764
|
this.lastMessageId = 0;
|
|
@@ -2765,7 +2769,10 @@ var pxsim;
|
|
|
2765
2769
|
init(origin) {
|
|
2766
2770
|
this.origin = origin;
|
|
2767
2771
|
pxsim.runtime.board.addMessageListener(msg => this.messageHandler(msg));
|
|
2768
|
-
|
|
2772
|
+
if (postScreenInterval) {
|
|
2773
|
+
clearInterval(postScreenInterval);
|
|
2774
|
+
}
|
|
2775
|
+
postScreenInterval = setInterval(() => {
|
|
2769
2776
|
if (this.origin === "server") {
|
|
2770
2777
|
const b = pxsim.board();
|
|
2771
2778
|
const screenState = b && b.screenState;
|
|
@@ -2798,7 +2805,7 @@ var pxsim;
|
|
|
2798
2805
|
}
|
|
2799
2806
|
else if (isButtonMessage(msg)) {
|
|
2800
2807
|
if (this.origin === "server") {
|
|
2801
|
-
pxsim.board().
|
|
2808
|
+
pxsim.board().handleKeyEvent(msg.button + (7 * (msg.clientNumber || 1)), // + 7 to make it player 2 controls,
|
|
2802
2809
|
msg.state === "Pressed" || msg.state === "Held");
|
|
2803
2810
|
}
|
|
2804
2811
|
}
|