quake2ts 0.0.519 → 0.0.520
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.
- package/package.json +1 -1
- package/packages/client/dist/browser/index.global.js +10 -10
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +58 -23
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +58 -23
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/browser/index.global.js +7 -7
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +55 -23
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +55 -23
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/assets/index.d.ts +28 -0
- package/packages/engine/dist/types/assets/index.d.ts.map +1 -0
- package/packages/engine/dist/types/demo/playback.d.ts +3 -1
- package/packages/engine/dist/types/demo/playback.d.ts.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -10142,33 +10142,68 @@ var DemoPlaybackController = class {
|
|
|
10142
10142
|
});
|
|
10143
10143
|
}
|
|
10144
10144
|
}
|
|
10145
|
-
async playRangeWithTracking(start, end, tracker) {
|
|
10145
|
+
async playRangeWithTracking(start, end, tracker, options = {}) {
|
|
10146
10146
|
this.tracker = tracker;
|
|
10147
10147
|
tracker.startTracking();
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
this.
|
|
10148
|
+
const startFrame = start.type === "frame" ? start.frame : this.timeToFrame(start.seconds);
|
|
10149
|
+
const endFrame = end.type === "frame" ? end.frame : this.timeToFrame(end.seconds);
|
|
10150
|
+
if (options.fastForward) {
|
|
10151
|
+
try {
|
|
10152
|
+
this.playFrom(start);
|
|
10153
|
+
this.transitionState(
|
|
10154
|
+
1
|
|
10155
|
+
/* Playing */
|
|
10156
|
+
);
|
|
10157
|
+
const CHUNK_SIZE = 100;
|
|
10158
|
+
const processChunk = async () => {
|
|
10159
|
+
if (this.state !== 1) {
|
|
10160
|
+
throw new Error("Playback stopped unexpectedly during fast forward");
|
|
10161
|
+
}
|
|
10162
|
+
let count = 0;
|
|
10163
|
+
while (count < CHUNK_SIZE) {
|
|
10164
|
+
if (this.currentFrameIndex >= endFrame || !this.processNextFrame()) {
|
|
10165
|
+
const log = tracker.stopTracking();
|
|
10166
|
+
this.tracker = null;
|
|
10167
|
+
if (this.callbacks?.onPlaybackComplete) this.callbacks.onPlaybackComplete();
|
|
10168
|
+
return log;
|
|
10169
|
+
}
|
|
10170
|
+
count++;
|
|
10171
|
+
}
|
|
10172
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
10173
|
+
return processChunk();
|
|
10174
|
+
};
|
|
10175
|
+
return await processChunk();
|
|
10176
|
+
} catch (e) {
|
|
10177
|
+
tracker.stopTracking();
|
|
10153
10178
|
this.tracker = null;
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10162
|
-
|
|
10163
|
-
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
|
|
10168
|
-
|
|
10179
|
+
throw e;
|
|
10180
|
+
}
|
|
10181
|
+
} else {
|
|
10182
|
+
return new Promise((resolve, reject) => {
|
|
10183
|
+
const originalComplete = this.callbacks?.onPlaybackComplete;
|
|
10184
|
+
const originalError = this.callbacks?.onPlaybackError;
|
|
10185
|
+
const cleanup = () => {
|
|
10186
|
+
this.setCallbacks({ ...this.callbacks, onPlaybackComplete: originalComplete, onPlaybackError: originalError });
|
|
10187
|
+
this.tracker = null;
|
|
10188
|
+
};
|
|
10189
|
+
this.setCallbacks({
|
|
10190
|
+
...this.callbacks,
|
|
10191
|
+
onPlaybackComplete: () => {
|
|
10192
|
+
const log = tracker.stopTracking();
|
|
10193
|
+
if (originalComplete) originalComplete();
|
|
10194
|
+
cleanup();
|
|
10195
|
+
resolve(log);
|
|
10196
|
+
},
|
|
10197
|
+
onPlaybackError: (err2) => {
|
|
10198
|
+
tracker.stopTracking();
|
|
10199
|
+
if (originalError) originalError(err2);
|
|
10200
|
+
cleanup();
|
|
10201
|
+
reject(err2);
|
|
10202
|
+
}
|
|
10203
|
+
});
|
|
10204
|
+
this.playRange(start, end);
|
|
10169
10205
|
});
|
|
10170
|
-
|
|
10171
|
-
});
|
|
10206
|
+
}
|
|
10172
10207
|
}
|
|
10173
10208
|
};
|
|
10174
10209
|
var DemoRecorder = class {
|