quake2ts 0.0.405 → 0.0.408

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 (29) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +16 -16
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +23 -3
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +23 -3
  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/index.d.ts.map +1 -1
  10. package/packages/client/dist/types/ui/demo-controls.d.ts +2 -1
  11. package/packages/client/dist/types/ui/demo-controls.d.ts.map +1 -1
  12. package/packages/engine/dist/browser/index.global.js +14 -14
  13. package/packages/engine/dist/browser/index.global.js.map +1 -1
  14. package/packages/engine/dist/cjs/index.cjs +88 -2
  15. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  16. package/packages/engine/dist/esm/index.js +87 -2
  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/assets/mapStatistics.d.ts +20 -0
  20. package/packages/engine/dist/types/assets/mapStatistics.d.ts.map +1 -0
  21. package/packages/engine/dist/types/audio/api.d.ts +1 -0
  22. package/packages/engine/dist/types/audio/api.d.ts.map +1 -1
  23. package/packages/engine/dist/types/audio/context.d.ts +1 -0
  24. package/packages/engine/dist/types/audio/context.d.ts.map +1 -1
  25. package/packages/engine/dist/types/audio/system.d.ts +3 -0
  26. package/packages/engine/dist/types/audio/system.d.ts.map +1 -1
  27. package/packages/engine/dist/types/index.d.ts +1 -0
  28. package/packages/engine/dist/types/index.d.ts.map +1 -1
  29. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
@@ -13452,10 +13452,11 @@ var MultiplayerConnection = class {
13452
13452
 
13453
13453
  // src/ui/demo-controls.ts
13454
13454
  var DemoControls = class {
13455
- constructor(playback) {
13455
+ constructor(playback, onSpeedChange) {
13456
13456
  this.isVisible = true;
13457
13457
  this.demoName = null;
13458
13458
  this.playback = playback;
13459
+ this.onSpeedChange = onSpeedChange;
13459
13460
  }
13460
13461
  setDemoName(name) {
13461
13462
  this.demoName = name;
@@ -13533,6 +13534,9 @@ var DemoControls = class {
13533
13534
  if (newSpeed < 0.1) newSpeed = 0.1;
13534
13535
  if (newSpeed > 16) newSpeed = 16;
13535
13536
  this.playback.setSpeed(newSpeed);
13537
+ if (this.onSpeedChange) {
13538
+ this.onSpeedChange(newSpeed);
13539
+ }
13536
13540
  }
13537
13541
  formatTime(ms) {
13538
13542
  const totalSeconds = Math.floor(ms / 1e3);
@@ -14238,7 +14242,14 @@ function createClient(imports) {
14238
14242
  const prediction = new import_cgame3.ClientPrediction(imports.engine.trace, pointContents);
14239
14243
  const view = new import_cgame4.ViewEffects();
14240
14244
  const demoPlayback = new DemoPlaybackController();
14241
- const demoControls = new DemoControls(demoPlayback);
14245
+ const demoControls = new DemoControls(demoPlayback, (speed) => {
14246
+ if (imports.engine.audio) {
14247
+ const audio = imports.engine.audio;
14248
+ if (typeof audio.setPlaybackRate === "function") {
14249
+ audio.setPlaybackRate(speed);
14250
+ }
14251
+ }
14252
+ });
14242
14253
  const demoHandler = new ClientNetworkHandler(imports);
14243
14254
  const demoRecorder = new DemoRecorder();
14244
14255
  demoHandler.setView(view);
@@ -14577,7 +14588,16 @@ function createClient(imports) {
14577
14588
  camOrigin.x -= forward.x * dist2;
14578
14589
  camOrigin.y -= forward.y * dist2;
14579
14590
  camOrigin.z -= forward.z * dist2;
14580
- lastRendered.origin = camOrigin;
14591
+ const traceStart = demoCamera.origin;
14592
+ const traceEnd = camOrigin;
14593
+ const mins = { x: -4, y: -4, z: -4 };
14594
+ const maxs = { x: 4, y: 4, z: 4 };
14595
+ const trace = imports.engine.trace(traceStart, traceEnd, mins, maxs);
14596
+ if (trace.fraction < 1) {
14597
+ lastRendered.origin = trace.endpos;
14598
+ } else {
14599
+ lastRendered.origin = camOrigin;
14600
+ }
14581
14601
  lastRendered.viewAngles = demoCamera.angles;
14582
14602
  }
14583
14603
  } else if (demoCameraState.mode === 2 /* Free */) {