quake2ts 0.0.561 → 0.0.563
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/package.json +1 -1
- package/packages/client/dist/browser/index.global.js +15 -15
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +273 -1
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +273 -1
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/net/connection.d.ts +2 -0
- package/packages/client/dist/types/net/connection.d.ts.map +1 -1
- package/packages/server/dist/client.d.ts +51 -0
- package/packages/server/dist/client.js +100 -0
- package/packages/server/dist/dedicated.d.ts +69 -0
- package/packages/server/dist/dedicated.js +1013 -0
- package/packages/server/dist/index.cjs +27 -2
- package/packages/server/dist/index.d.ts +7 -161
- package/packages/server/dist/index.js +26 -2
- package/packages/server/dist/net/nodeWsDriver.d.ts +16 -0
- package/packages/server/dist/net/nodeWsDriver.js +122 -0
- package/packages/server/dist/protocol/player.d.ts +23 -0
- package/packages/server/dist/protocol/player.js +137 -0
- package/packages/server/dist/protocol/write.d.ts +7 -0
- package/packages/server/dist/protocol/write.js +167 -0
- package/packages/server/dist/protocol.d.ts +17 -0
- package/packages/server/dist/protocol.js +71 -0
- package/packages/server/dist/server.d.ts +50 -0
- package/packages/server/dist/server.js +12 -0
- package/packages/server/dist/server.test.d.ts +1 -0
- package/packages/server/dist/server.test.js +69 -0
- package/packages/server/dist/transport.d.ts +7 -0
- package/packages/server/dist/transport.js +1 -0
- package/packages/server/dist/transports/websocket.d.ts +11 -0
- package/packages/server/dist/transports/websocket.js +38 -0
- package/packages/test-utils/dist/index.cjs +1610 -1188
- package/packages/test-utils/dist/index.cjs.map +1 -1
- package/packages/test-utils/dist/index.d.cts +326 -132
- package/packages/test-utils/dist/index.d.ts +326 -132
- package/packages/test-utils/dist/index.js +1596 -1189
- package/packages/test-utils/dist/index.js.map +1 -1
- package/packages/server/dist/index.d.cts +0 -161
|
@@ -11444,6 +11444,271 @@ var RenderFx = /* @__PURE__ */ ((RenderFx22) => {
|
|
|
11444
11444
|
RenderFx22[RenderFx22["Flashlight"] = 2097152] = "Flashlight";
|
|
11445
11445
|
return RenderFx22;
|
|
11446
11446
|
})(RenderFx || {});
|
|
11447
|
+
var crc_table = [
|
|
11448
|
+
0,
|
|
11449
|
+
145,
|
|
11450
|
+
227,
|
|
11451
|
+
114,
|
|
11452
|
+
7,
|
|
11453
|
+
150,
|
|
11454
|
+
228,
|
|
11455
|
+
117,
|
|
11456
|
+
14,
|
|
11457
|
+
159,
|
|
11458
|
+
237,
|
|
11459
|
+
124,
|
|
11460
|
+
9,
|
|
11461
|
+
152,
|
|
11462
|
+
234,
|
|
11463
|
+
123,
|
|
11464
|
+
28,
|
|
11465
|
+
141,
|
|
11466
|
+
255,
|
|
11467
|
+
110,
|
|
11468
|
+
27,
|
|
11469
|
+
138,
|
|
11470
|
+
248,
|
|
11471
|
+
105,
|
|
11472
|
+
18,
|
|
11473
|
+
131,
|
|
11474
|
+
241,
|
|
11475
|
+
96,
|
|
11476
|
+
21,
|
|
11477
|
+
132,
|
|
11478
|
+
246,
|
|
11479
|
+
103,
|
|
11480
|
+
56,
|
|
11481
|
+
169,
|
|
11482
|
+
219,
|
|
11483
|
+
74,
|
|
11484
|
+
63,
|
|
11485
|
+
174,
|
|
11486
|
+
220,
|
|
11487
|
+
77,
|
|
11488
|
+
54,
|
|
11489
|
+
167,
|
|
11490
|
+
213,
|
|
11491
|
+
68,
|
|
11492
|
+
49,
|
|
11493
|
+
160,
|
|
11494
|
+
210,
|
|
11495
|
+
67,
|
|
11496
|
+
36,
|
|
11497
|
+
181,
|
|
11498
|
+
199,
|
|
11499
|
+
86,
|
|
11500
|
+
35,
|
|
11501
|
+
178,
|
|
11502
|
+
192,
|
|
11503
|
+
81,
|
|
11504
|
+
42,
|
|
11505
|
+
187,
|
|
11506
|
+
201,
|
|
11507
|
+
88,
|
|
11508
|
+
45,
|
|
11509
|
+
188,
|
|
11510
|
+
206,
|
|
11511
|
+
95,
|
|
11512
|
+
112,
|
|
11513
|
+
225,
|
|
11514
|
+
147,
|
|
11515
|
+
2,
|
|
11516
|
+
119,
|
|
11517
|
+
230,
|
|
11518
|
+
148,
|
|
11519
|
+
5,
|
|
11520
|
+
126,
|
|
11521
|
+
239,
|
|
11522
|
+
157,
|
|
11523
|
+
12,
|
|
11524
|
+
121,
|
|
11525
|
+
232,
|
|
11526
|
+
154,
|
|
11527
|
+
11,
|
|
11528
|
+
108,
|
|
11529
|
+
253,
|
|
11530
|
+
143,
|
|
11531
|
+
30,
|
|
11532
|
+
107,
|
|
11533
|
+
250,
|
|
11534
|
+
136,
|
|
11535
|
+
25,
|
|
11536
|
+
98,
|
|
11537
|
+
243,
|
|
11538
|
+
129,
|
|
11539
|
+
16,
|
|
11540
|
+
101,
|
|
11541
|
+
244,
|
|
11542
|
+
134,
|
|
11543
|
+
23,
|
|
11544
|
+
72,
|
|
11545
|
+
217,
|
|
11546
|
+
171,
|
|
11547
|
+
58,
|
|
11548
|
+
79,
|
|
11549
|
+
222,
|
|
11550
|
+
172,
|
|
11551
|
+
61,
|
|
11552
|
+
70,
|
|
11553
|
+
215,
|
|
11554
|
+
165,
|
|
11555
|
+
52,
|
|
11556
|
+
65,
|
|
11557
|
+
208,
|
|
11558
|
+
162,
|
|
11559
|
+
51,
|
|
11560
|
+
84,
|
|
11561
|
+
197,
|
|
11562
|
+
183,
|
|
11563
|
+
38,
|
|
11564
|
+
83,
|
|
11565
|
+
194,
|
|
11566
|
+
176,
|
|
11567
|
+
33,
|
|
11568
|
+
90,
|
|
11569
|
+
203,
|
|
11570
|
+
185,
|
|
11571
|
+
40,
|
|
11572
|
+
93,
|
|
11573
|
+
204,
|
|
11574
|
+
190,
|
|
11575
|
+
47,
|
|
11576
|
+
224,
|
|
11577
|
+
113,
|
|
11578
|
+
3,
|
|
11579
|
+
146,
|
|
11580
|
+
231,
|
|
11581
|
+
118,
|
|
11582
|
+
4,
|
|
11583
|
+
149,
|
|
11584
|
+
238,
|
|
11585
|
+
127,
|
|
11586
|
+
13,
|
|
11587
|
+
156,
|
|
11588
|
+
233,
|
|
11589
|
+
120,
|
|
11590
|
+
10,
|
|
11591
|
+
155,
|
|
11592
|
+
252,
|
|
11593
|
+
109,
|
|
11594
|
+
31,
|
|
11595
|
+
142,
|
|
11596
|
+
251,
|
|
11597
|
+
106,
|
|
11598
|
+
24,
|
|
11599
|
+
137,
|
|
11600
|
+
242,
|
|
11601
|
+
99,
|
|
11602
|
+
17,
|
|
11603
|
+
128,
|
|
11604
|
+
245,
|
|
11605
|
+
100,
|
|
11606
|
+
22,
|
|
11607
|
+
135,
|
|
11608
|
+
216,
|
|
11609
|
+
73,
|
|
11610
|
+
59,
|
|
11611
|
+
170,
|
|
11612
|
+
223,
|
|
11613
|
+
78,
|
|
11614
|
+
60,
|
|
11615
|
+
173,
|
|
11616
|
+
214,
|
|
11617
|
+
71,
|
|
11618
|
+
53,
|
|
11619
|
+
164,
|
|
11620
|
+
209,
|
|
11621
|
+
64,
|
|
11622
|
+
50,
|
|
11623
|
+
163,
|
|
11624
|
+
196,
|
|
11625
|
+
85,
|
|
11626
|
+
39,
|
|
11627
|
+
182,
|
|
11628
|
+
195,
|
|
11629
|
+
82,
|
|
11630
|
+
32,
|
|
11631
|
+
177,
|
|
11632
|
+
202,
|
|
11633
|
+
91,
|
|
11634
|
+
41,
|
|
11635
|
+
184,
|
|
11636
|
+
205,
|
|
11637
|
+
92,
|
|
11638
|
+
46,
|
|
11639
|
+
191,
|
|
11640
|
+
144,
|
|
11641
|
+
1,
|
|
11642
|
+
115,
|
|
11643
|
+
226,
|
|
11644
|
+
151,
|
|
11645
|
+
6,
|
|
11646
|
+
116,
|
|
11647
|
+
229,
|
|
11648
|
+
158,
|
|
11649
|
+
15,
|
|
11650
|
+
125,
|
|
11651
|
+
236,
|
|
11652
|
+
153,
|
|
11653
|
+
8,
|
|
11654
|
+
122,
|
|
11655
|
+
235,
|
|
11656
|
+
140,
|
|
11657
|
+
29,
|
|
11658
|
+
111,
|
|
11659
|
+
254,
|
|
11660
|
+
139,
|
|
11661
|
+
26,
|
|
11662
|
+
104,
|
|
11663
|
+
249,
|
|
11664
|
+
130,
|
|
11665
|
+
19,
|
|
11666
|
+
97,
|
|
11667
|
+
240,
|
|
11668
|
+
133,
|
|
11669
|
+
20,
|
|
11670
|
+
102,
|
|
11671
|
+
247,
|
|
11672
|
+
168,
|
|
11673
|
+
57,
|
|
11674
|
+
75,
|
|
11675
|
+
218,
|
|
11676
|
+
175,
|
|
11677
|
+
62,
|
|
11678
|
+
76,
|
|
11679
|
+
221,
|
|
11680
|
+
166,
|
|
11681
|
+
55,
|
|
11682
|
+
69,
|
|
11683
|
+
212,
|
|
11684
|
+
161,
|
|
11685
|
+
48,
|
|
11686
|
+
66,
|
|
11687
|
+
211,
|
|
11688
|
+
180,
|
|
11689
|
+
37,
|
|
11690
|
+
86,
|
|
11691
|
+
199,
|
|
11692
|
+
179,
|
|
11693
|
+
34,
|
|
11694
|
+
80,
|
|
11695
|
+
193,
|
|
11696
|
+
186,
|
|
11697
|
+
43,
|
|
11698
|
+
89,
|
|
11699
|
+
200,
|
|
11700
|
+
189,
|
|
11701
|
+
44,
|
|
11702
|
+
94,
|
|
11703
|
+
207
|
|
11704
|
+
];
|
|
11705
|
+
function crc8(data) {
|
|
11706
|
+
let crc = 0;
|
|
11707
|
+
for (let i = 0; i < data.length; i++) {
|
|
11708
|
+
crc = crc_table[(crc ^ data[i]) & 255];
|
|
11709
|
+
}
|
|
11710
|
+
return crc;
|
|
11711
|
+
}
|
|
11447
11712
|
var EntityEffects = /* @__PURE__ */ ((EntityEffects2) => {
|
|
11448
11713
|
EntityEffects2[EntityEffects2["Rotate"] = 4] = "Rotate";
|
|
11449
11714
|
EntityEffects2[EntityEffects2["Gib"] = 8] = "Gib";
|
|
@@ -16235,6 +16500,9 @@ var MultiplayerConnection = class {
|
|
|
16235
16500
|
// Ping calculation
|
|
16236
16501
|
this.lastPingTime = 0;
|
|
16237
16502
|
this.currentPing = 0;
|
|
16503
|
+
// Frame CRC
|
|
16504
|
+
this.frameCRCs = /* @__PURE__ */ new Map();
|
|
16505
|
+
this.currentPacketCRC = 0;
|
|
16238
16506
|
this.driver = new BrowserWebSocketNetDriver();
|
|
16239
16507
|
this.options = options;
|
|
16240
16508
|
this.netchan = options.netchan ?? new NetChan();
|
|
@@ -16295,6 +16563,7 @@ var MultiplayerConnection = class {
|
|
|
16295
16563
|
this.commandHistory = [];
|
|
16296
16564
|
this.latestServerFrame = 0;
|
|
16297
16565
|
this.parser = null;
|
|
16566
|
+
this.frameCRCs.clear();
|
|
16298
16567
|
}
|
|
16299
16568
|
setState(newState) {
|
|
16300
16569
|
if (this.state !== newState) {
|
|
@@ -16322,7 +16591,8 @@ var MultiplayerConnection = class {
|
|
|
16322
16591
|
}
|
|
16323
16592
|
const writer = new BinaryWriter2();
|
|
16324
16593
|
writer.writeByte(ClientCommand.move);
|
|
16325
|
-
|
|
16594
|
+
const checksum = this.frameCRCs.get(this.latestServerFrame) || 0;
|
|
16595
|
+
writer.writeByte(checksum);
|
|
16326
16596
|
writer.writeLong(this.latestServerFrame);
|
|
16327
16597
|
writeUserCommand(writer, commandWithFrame);
|
|
16328
16598
|
const packet = this.netchan.transmit(writer.getData());
|
|
@@ -16343,6 +16613,7 @@ var MultiplayerConnection = class {
|
|
|
16343
16613
|
if (this.demoRecorder && this.demoRecorder.getIsRecording()) {
|
|
16344
16614
|
this.demoRecorder.recordMessage(processedData);
|
|
16345
16615
|
}
|
|
16616
|
+
this.currentPacketCRC = crc8(processedData);
|
|
16346
16617
|
const stream = new BinaryStream2(processedData.buffer);
|
|
16347
16618
|
this.parser = new NetworkMessageParser(stream, this);
|
|
16348
16619
|
this.parser.parseMessage();
|
|
@@ -16426,6 +16697,7 @@ var MultiplayerConnection = class {
|
|
|
16426
16697
|
if (frame.serverFrame > this.latestServerFrame) {
|
|
16427
16698
|
this.latestServerFrame = frame.serverFrame;
|
|
16428
16699
|
}
|
|
16700
|
+
this.frameCRCs.set(frame.serverFrame, this.currentPacketCRC);
|
|
16429
16701
|
const packetEntities = frame.packetEntities;
|
|
16430
16702
|
if (!packetEntities.delta) {
|
|
16431
16703
|
this.entities.clear();
|