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
@@ -13417,10 +13417,11 @@ var MultiplayerConnection = class {
13417
13417
 
13418
13418
  // src/ui/demo-controls.ts
13419
13419
  var DemoControls = class {
13420
- constructor(playback) {
13420
+ constructor(playback, onSpeedChange) {
13421
13421
  this.isVisible = true;
13422
13422
  this.demoName = null;
13423
13423
  this.playback = playback;
13424
+ this.onSpeedChange = onSpeedChange;
13424
13425
  }
13425
13426
  setDemoName(name) {
13426
13427
  this.demoName = name;
@@ -13498,6 +13499,9 @@ var DemoControls = class {
13498
13499
  if (newSpeed < 0.1) newSpeed = 0.1;
13499
13500
  if (newSpeed > 16) newSpeed = 16;
13500
13501
  this.playback.setSpeed(newSpeed);
13502
+ if (this.onSpeedChange) {
13503
+ this.onSpeedChange(newSpeed);
13504
+ }
13501
13505
  }
13502
13506
  formatTime(ms) {
13503
13507
  const totalSeconds = Math.floor(ms / 1e3);
@@ -14206,7 +14210,14 @@ function createClient(imports) {
14206
14210
  const prediction = new ClientPrediction2(imports.engine.trace, pointContents);
14207
14211
  const view = new ViewEffects2();
14208
14212
  const demoPlayback = new DemoPlaybackController();
14209
- const demoControls = new DemoControls(demoPlayback);
14213
+ const demoControls = new DemoControls(demoPlayback, (speed) => {
14214
+ if (imports.engine.audio) {
14215
+ const audio = imports.engine.audio;
14216
+ if (typeof audio.setPlaybackRate === "function") {
14217
+ audio.setPlaybackRate(speed);
14218
+ }
14219
+ }
14220
+ });
14210
14221
  const demoHandler = new ClientNetworkHandler(imports);
14211
14222
  const demoRecorder = new DemoRecorder();
14212
14223
  demoHandler.setView(view);
@@ -14545,7 +14556,16 @@ function createClient(imports) {
14545
14556
  camOrigin.x -= forward.x * dist2;
14546
14557
  camOrigin.y -= forward.y * dist2;
14547
14558
  camOrigin.z -= forward.z * dist2;
14548
- lastRendered.origin = camOrigin;
14559
+ const traceStart = demoCamera.origin;
14560
+ const traceEnd = camOrigin;
14561
+ const mins = { x: -4, y: -4, z: -4 };
14562
+ const maxs = { x: 4, y: 4, z: 4 };
14563
+ const trace = imports.engine.trace(traceStart, traceEnd, mins, maxs);
14564
+ if (trace.fraction < 1) {
14565
+ lastRendered.origin = trace.endpos;
14566
+ } else {
14567
+ lastRendered.origin = camOrigin;
14568
+ }
14549
14569
  lastRendered.viewAngles = demoCamera.angles;
14550
14570
  }
14551
14571
  } else if (demoCameraState.mode === 2 /* Free */) {