quake2ts 0.0.241 → 0.0.243

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 (50) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +11 -11
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +50 -13
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +50 -13
  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/demo/handler.d.ts +2 -1
  10. package/packages/client/dist/types/demo/handler.d.ts.map +1 -1
  11. package/packages/client/dist/types/index.d.ts.map +1 -1
  12. package/packages/engine/dist/browser/index.global.js +8 -8
  13. package/packages/engine/dist/browser/index.global.js.map +1 -1
  14. package/packages/engine/dist/cjs/index.cjs +37 -10
  15. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  16. package/packages/engine/dist/esm/index.js +37 -10
  17. package/packages/engine/dist/esm/index.js.map +1 -1
  18. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  19. package/packages/engine/dist/types/demo/parser.d.ts +1 -1
  20. package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
  21. package/packages/engine/dist/types/demo/playback.d.ts +1 -0
  22. package/packages/engine/dist/types/demo/playback.d.ts.map +1 -1
  23. package/packages/game/dist/browser/index.global.js +2 -2
  24. package/packages/game/dist/browser/index.global.js.map +1 -1
  25. package/packages/game/dist/cjs/index.cjs +73 -4
  26. package/packages/game/dist/cjs/index.cjs.map +1 -1
  27. package/packages/game/dist/esm/index.js +73 -4
  28. package/packages/game/dist/esm/index.js.map +1 -1
  29. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  30. package/packages/game/dist/types/combat/weapons/firing.d.ts.map +1 -1
  31. package/packages/game/dist/types/combat/weapons/rogue.d.ts +9 -0
  32. package/packages/game/dist/types/combat/weapons/rogue.d.ts.map +1 -0
  33. package/packages/game/dist/types/entities/projectiles.d.ts +1 -0
  34. package/packages/game/dist/types/entities/projectiles.d.ts.map +1 -1
  35. package/packages/game/dist/types/index.d.ts +4 -0
  36. package/packages/game/dist/types/index.d.ts.map +1 -1
  37. package/packages/game/dist/types/inventory/ammo.d.ts.map +1 -1
  38. package/packages/game/dist/types/inventory/items.d.ts.map +1 -1
  39. package/packages/game/dist/types/physics/movement.d.ts +1 -1
  40. package/packages/game/dist/types/physics/movement.d.ts.map +1 -1
  41. package/packages/shared/dist/browser/index.global.js +1 -1
  42. package/packages/shared/dist/browser/index.global.js.map +1 -1
  43. package/packages/shared/dist/cjs/index.cjs +5 -0
  44. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  45. package/packages/shared/dist/esm/index.js +5 -0
  46. package/packages/shared/dist/esm/index.js.map +1 -1
  47. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  48. package/packages/shared/dist/types/items/ammo.d.ts +6 -1
  49. package/packages/shared/dist/types/items/ammo.d.ts.map +1 -1
  50. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -2824,7 +2824,7 @@ var DemoReader = class {
2824
2824
  }
2825
2825
  const length2 = this.view.getInt32(this.offset, true);
2826
2826
  this.offset += 4;
2827
- if (length2 < 0 || length2 > 262144) {
2827
+ if (length2 < 0 || length2 > 2097152) {
2828
2828
  console.warn(`DemoReader: Invalid block length ${length2} at offset ${this.offset - 4}`);
2829
2829
  return null;
2830
2830
  }
@@ -7294,16 +7294,40 @@ var NetworkMessageParser = class _NetworkMessageParser {
7294
7294
  }
7295
7295
  parseServerData() {
7296
7296
  this.protocolVersion = this.stream.readLong();
7297
- const serverCount = this.stream.readLong();
7298
- this.isDemo = this.stream.readByte();
7299
- const attractLoop = 0;
7300
- const gameDir = this.stream.readString();
7301
- const playerNum = this.stream.readShort();
7302
- const levelName = this.stream.readString();
7303
- if (this.handler) {
7304
- this.handler.onServerData(this.protocolVersion, serverCount, attractLoop, gameDir, playerNum, levelName);
7297
+ if (this.protocolVersion === PROTOCOL_VERSION_RERELEASE) {
7298
+ const spawnCount = this.stream.readLong();
7299
+ const demoType = this.stream.readByte();
7300
+ this.isDemo = demoType;
7301
+ const tickRate = this.stream.readByte();
7302
+ const gameDir = this.stream.readString();
7303
+ let playerNum = this.stream.readShort();
7304
+ if (playerNum === -2) {
7305
+ const numSplits = this.stream.readShort();
7306
+ for (let i = 0; i < numSplits; i++) {
7307
+ this.stream.readShort();
7308
+ }
7309
+ playerNum = 0;
7310
+ } else if (playerNum === -1) {
7311
+ playerNum = -1;
7312
+ }
7313
+ const levelName = this.stream.readString();
7314
+ if (this.handler) {
7315
+ this.handler.onServerData(this.protocolVersion, spawnCount, 0, gameDir, playerNum, levelName, tickRate, demoType);
7316
+ } else {
7317
+ console.log(`Server Data (Rerelease): Protocol ${this.protocolVersion}, Level ${levelName}, Tick ${tickRate}`);
7318
+ }
7305
7319
  } else {
7306
- console.log(`Server Data: Protocol ${this.protocolVersion}, Level ${levelName}, GameDir ${gameDir}`);
7320
+ const serverCount = this.stream.readLong();
7321
+ this.isDemo = this.stream.readByte();
7322
+ const attractLoop = 0;
7323
+ const gameDir = this.stream.readString();
7324
+ const playerNum = this.stream.readShort();
7325
+ const levelName = this.stream.readString();
7326
+ if (this.handler) {
7327
+ this.handler.onServerData(this.protocolVersion, serverCount, attractLoop, gameDir, playerNum, levelName);
7328
+ } else {
7329
+ console.log(`Server Data: Protocol ${this.protocolVersion}, Level ${levelName}, GameDir ${gameDir}`);
7330
+ }
7307
7331
  }
7308
7332
  }
7309
7333
  parseConfigString() {
@@ -7950,6 +7974,9 @@ var DemoPlaybackController = class {
7950
7974
  }
7951
7975
  this.accumulatedTime = 0;
7952
7976
  }
7977
+ setFrameDuration(ms) {
7978
+ this.frameDuration = ms;
7979
+ }
7953
7980
  update(dt) {
7954
7981
  if (this.state !== 1 || !this.reader) {
7955
7982
  return;
@@ -8985,7 +9012,7 @@ var DEMO_ITEM_MAPPING = [
8985
9012
  ];
8986
9013
 
8987
9014
  // src/demo/handler.ts
8988
- var MAX_CONFIGSTRINGS3 = 2048;
9015
+ var MAX_CONFIGSTRINGS3 = 32768;
8989
9016
  var ClientNetworkHandler = class {
8990
9017
  constructor(imports, callbacks) {
8991
9018
  this.configstrings = new Array(MAX_CONFIGSTRINGS3).fill("");
@@ -9010,13 +9037,16 @@ var ClientNetworkHandler = class {
9010
9037
  setView(view) {
9011
9038
  this.view = view;
9012
9039
  }
9013
- onServerData(protocol, serverCount, attractLoop, gameDir, playerNum, levelName) {
9014
- console.log(`Demo: Server Data - Protocol: ${protocol}, Level: ${levelName}`);
9040
+ onServerData(protocol, serverCount, attractLoop, gameDir, playerNum, levelName, tickRate, demoType) {
9041
+ console.log(`Demo: Server Data - Protocol: ${protocol}, Level: ${levelName}, Tick: ${tickRate ?? 10}`);
9015
9042
  this.configstrings.fill("");
9016
9043
  this.entities.clear();
9017
9044
  this.baselines.clear();
9018
9045
  this.latestFrame = null;
9019
9046
  this.playerNum = playerNum;
9047
+ if (this.callbacks?.onServerData) {
9048
+ this.callbacks.onServerData(protocol, tickRate);
9049
+ }
9020
9050
  }
9021
9051
  onConfigString(index, str3) {
9022
9052
  this.configstrings[index] = str3;
@@ -10798,6 +10828,13 @@ function createClient(imports) {
10798
10828
  onConfigString: (index, str3) => {
10799
10829
  configStrings.set(index, str3);
10800
10830
  cg.ParseConfigString(index, str3);
10831
+ },
10832
+ onServerData: (protocol, tickRate) => {
10833
+ if (tickRate && tickRate > 0) {
10834
+ demoPlayback.setFrameDuration(1e3 / tickRate);
10835
+ } else {
10836
+ demoPlayback.setFrameDuration(100);
10837
+ }
10801
10838
  }
10802
10839
  });
10803
10840
  demoPlayback.setHandler(demoHandler);