quake2ts 0.0.241 → 0.0.242

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
@@ -2855,7 +2855,7 @@ var DemoReader = class {
2855
2855
  }
2856
2856
  const length2 = this.view.getInt32(this.offset, true);
2857
2857
  this.offset += 4;
2858
- if (length2 < 0 || length2 > 262144) {
2858
+ if (length2 < 0 || length2 > 2097152) {
2859
2859
  console.warn(`DemoReader: Invalid block length ${length2} at offset ${this.offset - 4}`);
2860
2860
  return null;
2861
2861
  }
@@ -7325,16 +7325,40 @@ var NetworkMessageParser = class _NetworkMessageParser {
7325
7325
  }
7326
7326
  parseServerData() {
7327
7327
  this.protocolVersion = this.stream.readLong();
7328
- const serverCount = this.stream.readLong();
7329
- this.isDemo = this.stream.readByte();
7330
- const attractLoop = 0;
7331
- const gameDir = this.stream.readString();
7332
- const playerNum = this.stream.readShort();
7333
- const levelName = this.stream.readString();
7334
- if (this.handler) {
7335
- this.handler.onServerData(this.protocolVersion, serverCount, attractLoop, gameDir, playerNum, levelName);
7328
+ if (this.protocolVersion === PROTOCOL_VERSION_RERELEASE) {
7329
+ const spawnCount = this.stream.readLong();
7330
+ const demoType = this.stream.readByte();
7331
+ this.isDemo = demoType;
7332
+ const tickRate = this.stream.readByte();
7333
+ const gameDir = this.stream.readString();
7334
+ let playerNum = this.stream.readShort();
7335
+ if (playerNum === -2) {
7336
+ const numSplits = this.stream.readShort();
7337
+ for (let i = 0; i < numSplits; i++) {
7338
+ this.stream.readShort();
7339
+ }
7340
+ playerNum = 0;
7341
+ } else if (playerNum === -1) {
7342
+ playerNum = -1;
7343
+ }
7344
+ const levelName = this.stream.readString();
7345
+ if (this.handler) {
7346
+ this.handler.onServerData(this.protocolVersion, spawnCount, 0, gameDir, playerNum, levelName, tickRate, demoType);
7347
+ } else {
7348
+ console.log(`Server Data (Rerelease): Protocol ${this.protocolVersion}, Level ${levelName}, Tick ${tickRate}`);
7349
+ }
7336
7350
  } else {
7337
- console.log(`Server Data: Protocol ${this.protocolVersion}, Level ${levelName}, GameDir ${gameDir}`);
7351
+ const serverCount = this.stream.readLong();
7352
+ this.isDemo = this.stream.readByte();
7353
+ const attractLoop = 0;
7354
+ const gameDir = this.stream.readString();
7355
+ const playerNum = this.stream.readShort();
7356
+ const levelName = this.stream.readString();
7357
+ if (this.handler) {
7358
+ this.handler.onServerData(this.protocolVersion, serverCount, attractLoop, gameDir, playerNum, levelName);
7359
+ } else {
7360
+ console.log(`Server Data: Protocol ${this.protocolVersion}, Level ${levelName}, GameDir ${gameDir}`);
7361
+ }
7338
7362
  }
7339
7363
  }
7340
7364
  parseConfigString() {
@@ -7981,6 +8005,9 @@ var DemoPlaybackController = class {
7981
8005
  }
7982
8006
  this.accumulatedTime = 0;
7983
8007
  }
8008
+ setFrameDuration(ms) {
8009
+ this.frameDuration = ms;
8010
+ }
7984
8011
  update(dt) {
7985
8012
  if (this.state !== 1 || !this.reader) {
7986
8013
  return;
@@ -9016,7 +9043,7 @@ var DEMO_ITEM_MAPPING = [
9016
9043
  ];
9017
9044
 
9018
9045
  // src/demo/handler.ts
9019
- var MAX_CONFIGSTRINGS3 = 2048;
9046
+ var MAX_CONFIGSTRINGS3 = 32768;
9020
9047
  var ClientNetworkHandler = class {
9021
9048
  constructor(imports, callbacks) {
9022
9049
  this.configstrings = new Array(MAX_CONFIGSTRINGS3).fill("");
@@ -9041,13 +9068,16 @@ var ClientNetworkHandler = class {
9041
9068
  setView(view) {
9042
9069
  this.view = view;
9043
9070
  }
9044
- onServerData(protocol, serverCount, attractLoop, gameDir, playerNum, levelName) {
9045
- console.log(`Demo: Server Data - Protocol: ${protocol}, Level: ${levelName}`);
9071
+ onServerData(protocol, serverCount, attractLoop, gameDir, playerNum, levelName, tickRate, demoType) {
9072
+ console.log(`Demo: Server Data - Protocol: ${protocol}, Level: ${levelName}, Tick: ${tickRate ?? 10}`);
9046
9073
  this.configstrings.fill("");
9047
9074
  this.entities.clear();
9048
9075
  this.baselines.clear();
9049
9076
  this.latestFrame = null;
9050
9077
  this.playerNum = playerNum;
9078
+ if (this.callbacks?.onServerData) {
9079
+ this.callbacks.onServerData(protocol, tickRate);
9080
+ }
9051
9081
  }
9052
9082
  onConfigString(index, str3) {
9053
9083
  this.configstrings[index] = str3;
@@ -10826,6 +10856,13 @@ function createClient(imports) {
10826
10856
  onConfigString: (index, str3) => {
10827
10857
  configStrings.set(index, str3);
10828
10858
  cg.ParseConfigString(index, str3);
10859
+ },
10860
+ onServerData: (protocol, tickRate) => {
10861
+ if (tickRate && tickRate > 0) {
10862
+ demoPlayback.setFrameDuration(1e3 / tickRate);
10863
+ } else {
10864
+ demoPlayback.setFrameDuration(100);
10865
+ }
10829
10866
  }
10830
10867
  });
10831
10868
  demoPlayback.setHandler(demoHandler);