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.
Files changed (40) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +15 -15
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +273 -1
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +273 -1
  7. package/packages/client/dist/esm/index.js.map +1 -1
  8. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  9. package/packages/client/dist/types/net/connection.d.ts +2 -0
  10. package/packages/client/dist/types/net/connection.d.ts.map +1 -1
  11. package/packages/server/dist/client.d.ts +51 -0
  12. package/packages/server/dist/client.js +100 -0
  13. package/packages/server/dist/dedicated.d.ts +69 -0
  14. package/packages/server/dist/dedicated.js +1013 -0
  15. package/packages/server/dist/index.cjs +27 -2
  16. package/packages/server/dist/index.d.ts +7 -161
  17. package/packages/server/dist/index.js +26 -2
  18. package/packages/server/dist/net/nodeWsDriver.d.ts +16 -0
  19. package/packages/server/dist/net/nodeWsDriver.js +122 -0
  20. package/packages/server/dist/protocol/player.d.ts +23 -0
  21. package/packages/server/dist/protocol/player.js +137 -0
  22. package/packages/server/dist/protocol/write.d.ts +7 -0
  23. package/packages/server/dist/protocol/write.js +167 -0
  24. package/packages/server/dist/protocol.d.ts +17 -0
  25. package/packages/server/dist/protocol.js +71 -0
  26. package/packages/server/dist/server.d.ts +50 -0
  27. package/packages/server/dist/server.js +12 -0
  28. package/packages/server/dist/server.test.d.ts +1 -0
  29. package/packages/server/dist/server.test.js +69 -0
  30. package/packages/server/dist/transport.d.ts +7 -0
  31. package/packages/server/dist/transport.js +1 -0
  32. package/packages/server/dist/transports/websocket.d.ts +11 -0
  33. package/packages/server/dist/transports/websocket.js +38 -0
  34. package/packages/test-utils/dist/index.cjs +1610 -1188
  35. package/packages/test-utils/dist/index.cjs.map +1 -1
  36. package/packages/test-utils/dist/index.d.cts +326 -132
  37. package/packages/test-utils/dist/index.d.ts +326 -132
  38. package/packages/test-utils/dist/index.js +1596 -1189
  39. package/packages/test-utils/dist/index.js.map +1 -1
  40. 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
- writer.writeByte(0);
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();