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
@@ -11482,6 +11482,271 @@ var RenderFx = /* @__PURE__ */ ((RenderFx22) => {
11482
11482
  RenderFx22[RenderFx22["Flashlight"] = 2097152] = "Flashlight";
11483
11483
  return RenderFx22;
11484
11484
  })(RenderFx || {});
11485
+ var crc_table = [
11486
+ 0,
11487
+ 145,
11488
+ 227,
11489
+ 114,
11490
+ 7,
11491
+ 150,
11492
+ 228,
11493
+ 117,
11494
+ 14,
11495
+ 159,
11496
+ 237,
11497
+ 124,
11498
+ 9,
11499
+ 152,
11500
+ 234,
11501
+ 123,
11502
+ 28,
11503
+ 141,
11504
+ 255,
11505
+ 110,
11506
+ 27,
11507
+ 138,
11508
+ 248,
11509
+ 105,
11510
+ 18,
11511
+ 131,
11512
+ 241,
11513
+ 96,
11514
+ 21,
11515
+ 132,
11516
+ 246,
11517
+ 103,
11518
+ 56,
11519
+ 169,
11520
+ 219,
11521
+ 74,
11522
+ 63,
11523
+ 174,
11524
+ 220,
11525
+ 77,
11526
+ 54,
11527
+ 167,
11528
+ 213,
11529
+ 68,
11530
+ 49,
11531
+ 160,
11532
+ 210,
11533
+ 67,
11534
+ 36,
11535
+ 181,
11536
+ 199,
11537
+ 86,
11538
+ 35,
11539
+ 178,
11540
+ 192,
11541
+ 81,
11542
+ 42,
11543
+ 187,
11544
+ 201,
11545
+ 88,
11546
+ 45,
11547
+ 188,
11548
+ 206,
11549
+ 95,
11550
+ 112,
11551
+ 225,
11552
+ 147,
11553
+ 2,
11554
+ 119,
11555
+ 230,
11556
+ 148,
11557
+ 5,
11558
+ 126,
11559
+ 239,
11560
+ 157,
11561
+ 12,
11562
+ 121,
11563
+ 232,
11564
+ 154,
11565
+ 11,
11566
+ 108,
11567
+ 253,
11568
+ 143,
11569
+ 30,
11570
+ 107,
11571
+ 250,
11572
+ 136,
11573
+ 25,
11574
+ 98,
11575
+ 243,
11576
+ 129,
11577
+ 16,
11578
+ 101,
11579
+ 244,
11580
+ 134,
11581
+ 23,
11582
+ 72,
11583
+ 217,
11584
+ 171,
11585
+ 58,
11586
+ 79,
11587
+ 222,
11588
+ 172,
11589
+ 61,
11590
+ 70,
11591
+ 215,
11592
+ 165,
11593
+ 52,
11594
+ 65,
11595
+ 208,
11596
+ 162,
11597
+ 51,
11598
+ 84,
11599
+ 197,
11600
+ 183,
11601
+ 38,
11602
+ 83,
11603
+ 194,
11604
+ 176,
11605
+ 33,
11606
+ 90,
11607
+ 203,
11608
+ 185,
11609
+ 40,
11610
+ 93,
11611
+ 204,
11612
+ 190,
11613
+ 47,
11614
+ 224,
11615
+ 113,
11616
+ 3,
11617
+ 146,
11618
+ 231,
11619
+ 118,
11620
+ 4,
11621
+ 149,
11622
+ 238,
11623
+ 127,
11624
+ 13,
11625
+ 156,
11626
+ 233,
11627
+ 120,
11628
+ 10,
11629
+ 155,
11630
+ 252,
11631
+ 109,
11632
+ 31,
11633
+ 142,
11634
+ 251,
11635
+ 106,
11636
+ 24,
11637
+ 137,
11638
+ 242,
11639
+ 99,
11640
+ 17,
11641
+ 128,
11642
+ 245,
11643
+ 100,
11644
+ 22,
11645
+ 135,
11646
+ 216,
11647
+ 73,
11648
+ 59,
11649
+ 170,
11650
+ 223,
11651
+ 78,
11652
+ 60,
11653
+ 173,
11654
+ 214,
11655
+ 71,
11656
+ 53,
11657
+ 164,
11658
+ 209,
11659
+ 64,
11660
+ 50,
11661
+ 163,
11662
+ 196,
11663
+ 85,
11664
+ 39,
11665
+ 182,
11666
+ 195,
11667
+ 82,
11668
+ 32,
11669
+ 177,
11670
+ 202,
11671
+ 91,
11672
+ 41,
11673
+ 184,
11674
+ 205,
11675
+ 92,
11676
+ 46,
11677
+ 191,
11678
+ 144,
11679
+ 1,
11680
+ 115,
11681
+ 226,
11682
+ 151,
11683
+ 6,
11684
+ 116,
11685
+ 229,
11686
+ 158,
11687
+ 15,
11688
+ 125,
11689
+ 236,
11690
+ 153,
11691
+ 8,
11692
+ 122,
11693
+ 235,
11694
+ 140,
11695
+ 29,
11696
+ 111,
11697
+ 254,
11698
+ 139,
11699
+ 26,
11700
+ 104,
11701
+ 249,
11702
+ 130,
11703
+ 19,
11704
+ 97,
11705
+ 240,
11706
+ 133,
11707
+ 20,
11708
+ 102,
11709
+ 247,
11710
+ 168,
11711
+ 57,
11712
+ 75,
11713
+ 218,
11714
+ 175,
11715
+ 62,
11716
+ 76,
11717
+ 221,
11718
+ 166,
11719
+ 55,
11720
+ 69,
11721
+ 212,
11722
+ 161,
11723
+ 48,
11724
+ 66,
11725
+ 211,
11726
+ 180,
11727
+ 37,
11728
+ 86,
11729
+ 199,
11730
+ 179,
11731
+ 34,
11732
+ 80,
11733
+ 193,
11734
+ 186,
11735
+ 43,
11736
+ 89,
11737
+ 200,
11738
+ 189,
11739
+ 44,
11740
+ 94,
11741
+ 207
11742
+ ];
11743
+ function crc8(data) {
11744
+ let crc = 0;
11745
+ for (let i = 0; i < data.length; i++) {
11746
+ crc = crc_table[(crc ^ data[i]) & 255];
11747
+ }
11748
+ return crc;
11749
+ }
11485
11750
  var EntityEffects = /* @__PURE__ */ ((EntityEffects2) => {
11486
11751
  EntityEffects2[EntityEffects2["Rotate"] = 4] = "Rotate";
11487
11752
  EntityEffects2[EntityEffects2["Gib"] = 8] = "Gib";
@@ -16273,6 +16538,9 @@ var MultiplayerConnection = class {
16273
16538
  // Ping calculation
16274
16539
  this.lastPingTime = 0;
16275
16540
  this.currentPing = 0;
16541
+ // Frame CRC
16542
+ this.frameCRCs = /* @__PURE__ */ new Map();
16543
+ this.currentPacketCRC = 0;
16276
16544
  this.driver = new BrowserWebSocketNetDriver();
16277
16545
  this.options = options;
16278
16546
  this.netchan = options.netchan ?? new NetChan();
@@ -16333,6 +16601,7 @@ var MultiplayerConnection = class {
16333
16601
  this.commandHistory = [];
16334
16602
  this.latestServerFrame = 0;
16335
16603
  this.parser = null;
16604
+ this.frameCRCs.clear();
16336
16605
  }
16337
16606
  setState(newState) {
16338
16607
  if (this.state !== newState) {
@@ -16360,7 +16629,8 @@ var MultiplayerConnection = class {
16360
16629
  }
16361
16630
  const writer = new BinaryWriter2();
16362
16631
  writer.writeByte(ClientCommand.move);
16363
- writer.writeByte(0);
16632
+ const checksum = this.frameCRCs.get(this.latestServerFrame) || 0;
16633
+ writer.writeByte(checksum);
16364
16634
  writer.writeLong(this.latestServerFrame);
16365
16635
  writeUserCommand(writer, commandWithFrame);
16366
16636
  const packet = this.netchan.transmit(writer.getData());
@@ -16381,6 +16651,7 @@ var MultiplayerConnection = class {
16381
16651
  if (this.demoRecorder && this.demoRecorder.getIsRecording()) {
16382
16652
  this.demoRecorder.recordMessage(processedData);
16383
16653
  }
16654
+ this.currentPacketCRC = crc8(processedData);
16384
16655
  const stream = new BinaryStream2(processedData.buffer);
16385
16656
  this.parser = new NetworkMessageParser(stream, this);
16386
16657
  this.parser.parseMessage();
@@ -16464,6 +16735,7 @@ var MultiplayerConnection = class {
16464
16735
  if (frame.serverFrame > this.latestServerFrame) {
16465
16736
  this.latestServerFrame = frame.serverFrame;
16466
16737
  }
16738
+ this.frameCRCs.set(frame.serverFrame, this.currentPacketCRC);
16467
16739
  const packetEntities = frame.packetEntities;
16468
16740
  if (!packetEntities.delta) {
16469
16741
  this.entities.clear();