@quake2ts/engine 0.0.1
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/dist/browser/index.global.js +617 -0
- package/dist/browser/index.global.js.map +1 -0
- package/dist/cjs/index.cjs +17604 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/esm/index.js +17373 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/assets/animation.d.ts +33 -0
- package/dist/types/assets/animation.d.ts.map +1 -0
- package/dist/types/assets/audio.d.ts +27 -0
- package/dist/types/assets/audio.d.ts.map +1 -0
- package/dist/types/assets/audio.worker.d.ts +2 -0
- package/dist/types/assets/audio.worker.d.ts.map +1 -0
- package/dist/types/assets/browserIngestion.d.ts +7 -0
- package/dist/types/assets/browserIngestion.d.ts.map +1 -0
- package/dist/types/assets/bsp.d.ts +197 -0
- package/dist/types/assets/bsp.d.ts.map +1 -0
- package/dist/types/assets/bsp.worker.d.ts +2 -0
- package/dist/types/assets/bsp.worker.d.ts.map +1 -0
- package/dist/types/assets/cache.d.ts +26 -0
- package/dist/types/assets/cache.d.ts.map +1 -0
- package/dist/types/assets/crossReference.d.ts +35 -0
- package/dist/types/assets/crossReference.d.ts.map +1 -0
- package/dist/types/assets/ent.d.ts +31 -0
- package/dist/types/assets/ent.d.ts.map +1 -0
- package/dist/types/assets/fileType.d.ts +18 -0
- package/dist/types/assets/fileType.d.ts.map +1 -0
- package/dist/types/assets/headlessLoader.d.ts +11 -0
- package/dist/types/assets/headlessLoader.d.ts.map +1 -0
- package/dist/types/assets/index.d.ts +30 -0
- package/dist/types/assets/index.d.ts.map +1 -0
- package/dist/types/assets/ingestion.d.ts +62 -0
- package/dist/types/assets/ingestion.d.ts.map +1 -0
- package/dist/types/assets/interactionGraph.d.ts +21 -0
- package/dist/types/assets/interactionGraph.d.ts.map +1 -0
- package/dist/types/assets/manager.d.ts +97 -0
- package/dist/types/assets/manager.d.ts.map +1 -0
- package/dist/types/assets/mapStatistics.d.ts +20 -0
- package/dist/types/assets/mapStatistics.d.ts.map +1 -0
- package/dist/types/assets/md2.d.ts +82 -0
- package/dist/types/assets/md2.d.ts.map +1 -0
- package/dist/types/assets/md3.d.ts +72 -0
- package/dist/types/assets/md3.d.ts.map +1 -0
- package/dist/types/assets/ogg.d.ts +12 -0
- package/dist/types/assets/ogg.d.ts.map +1 -0
- package/dist/types/assets/pak.d.ts +32 -0
- package/dist/types/assets/pak.d.ts.map +1 -0
- package/dist/types/assets/pakIndexStore.d.ts +19 -0
- package/dist/types/assets/pakIndexStore.d.ts.map +1 -0
- package/dist/types/assets/pakValidation.d.ts +28 -0
- package/dist/types/assets/pakValidation.d.ts.map +1 -0
- package/dist/types/assets/pakWriter.d.ts +27 -0
- package/dist/types/assets/pakWriter.d.ts.map +1 -0
- package/dist/types/assets/pcx.d.ts +13 -0
- package/dist/types/assets/pcx.d.ts.map +1 -0
- package/dist/types/assets/preview.d.ts +15 -0
- package/dist/types/assets/preview.d.ts.map +1 -0
- package/dist/types/assets/resourceTracker.d.ts +33 -0
- package/dist/types/assets/resourceTracker.d.ts.map +1 -0
- package/dist/types/assets/sprite.d.ts +23 -0
- package/dist/types/assets/sprite.d.ts.map +1 -0
- package/dist/types/assets/streamer.d.ts +17 -0
- package/dist/types/assets/streamer.d.ts.map +1 -0
- package/dist/types/assets/streamingPak.d.ts +28 -0
- package/dist/types/assets/streamingPak.d.ts.map +1 -0
- package/dist/types/assets/texture.d.ts +37 -0
- package/dist/types/assets/texture.d.ts.map +1 -0
- package/dist/types/assets/tga.d.ts +15 -0
- package/dist/types/assets/tga.d.ts.map +1 -0
- package/dist/types/assets/vfs.d.ts +57 -0
- package/dist/types/assets/vfs.d.ts.map +1 -0
- package/dist/types/assets/visibilityAnalyzer.d.ts +28 -0
- package/dist/types/assets/visibilityAnalyzer.d.ts.map +1 -0
- package/dist/types/assets/wal.d.ts +21 -0
- package/dist/types/assets/wal.d.ts.map +1 -0
- package/dist/types/assets/wav.d.ts +11 -0
- package/dist/types/assets/wav.d.ts.map +1 -0
- package/dist/types/audio/ambient.d.ts +22 -0
- package/dist/types/audio/ambient.d.ts.map +1 -0
- package/dist/types/audio/api.d.ts +37 -0
- package/dist/types/audio/api.d.ts.map +1 -0
- package/dist/types/audio/channels.d.ts +15 -0
- package/dist/types/audio/channels.d.ts.map +1 -0
- package/dist/types/audio/constants.d.ts +2 -0
- package/dist/types/audio/constants.d.ts.map +1 -0
- package/dist/types/audio/context.d.ts +79 -0
- package/dist/types/audio/context.d.ts.map +1 -0
- package/dist/types/audio/music.d.ts +49 -0
- package/dist/types/audio/music.d.ts.map +1 -0
- package/dist/types/audio/occlusion.d.ts +15 -0
- package/dist/types/audio/occlusion.d.ts.map +1 -0
- package/dist/types/audio/precache.d.ts +28 -0
- package/dist/types/audio/precache.d.ts.map +1 -0
- package/dist/types/audio/registry.d.ts +14 -0
- package/dist/types/audio/registry.d.ts.map +1 -0
- package/dist/types/audio/reverb.d.ts +17 -0
- package/dist/types/audio/reverb.d.ts.map +1 -0
- package/dist/types/audio/room.d.ts +5 -0
- package/dist/types/audio/room.d.ts.map +1 -0
- package/dist/types/audio/system.d.ts +112 -0
- package/dist/types/audio/system.d.ts.map +1 -0
- package/dist/types/cli/demoOptimizer.d.ts +10 -0
- package/dist/types/cli/demoOptimizer.d.ts.map +1 -0
- package/dist/types/commands.d.ts +27 -0
- package/dist/types/commands.d.ts.map +1 -0
- package/dist/types/configstrings.d.ts +36 -0
- package/dist/types/configstrings.d.ts.map +1 -0
- package/dist/types/cvars.d.ts +58 -0
- package/dist/types/cvars.d.ts.map +1 -0
- package/dist/types/demo/analysis.d.ts +83 -0
- package/dist/types/demo/analysis.d.ts.map +1 -0
- package/dist/types/demo/analyzer.d.ts +33 -0
- package/dist/types/demo/analyzer.d.ts.map +1 -0
- package/dist/types/demo/api.d.ts +40 -0
- package/dist/types/demo/api.d.ts.map +1 -0
- package/dist/types/demo/asyncParser.d.ts +15 -0
- package/dist/types/demo/asyncParser.d.ts.map +1 -0
- package/dist/types/demo/camera.d.ts +17 -0
- package/dist/types/demo/camera.d.ts.map +1 -0
- package/dist/types/demo/clipper.d.ts +34 -0
- package/dist/types/demo/clipper.d.ts.map +1 -0
- package/dist/types/demo/delta.d.ts +3 -0
- package/dist/types/demo/delta.d.ts.map +1 -0
- package/dist/types/demo/demo.worker.d.ts +126 -0
- package/dist/types/demo/demo.worker.d.ts.map +1 -0
- package/dist/types/demo/demoReader.d.ts +62 -0
- package/dist/types/demo/demoReader.d.ts.map +1 -0
- package/dist/types/demo/demoRecorder.d.ts +15 -0
- package/dist/types/demo/demoRecorder.d.ts.map +1 -0
- package/dist/types/demo/demoStream.d.ts +39 -0
- package/dist/types/demo/demoStream.d.ts.map +1 -0
- package/dist/types/demo/demoWriter.d.ts +8 -0
- package/dist/types/demo/demoWriter.d.ts.map +1 -0
- package/dist/types/demo/index.d.ts +6 -0
- package/dist/types/demo/index.d.ts.map +1 -0
- package/dist/types/demo/message.d.ts +178 -0
- package/dist/types/demo/message.d.ts.map +1 -0
- package/dist/types/demo/optimalClipFinder.d.ts +35 -0
- package/dist/types/demo/optimalClipFinder.d.ts.map +1 -0
- package/dist/types/demo/packager.d.ts +46 -0
- package/dist/types/demo/packager.d.ts.map +1 -0
- package/dist/types/demo/parser.d.ts +222 -0
- package/dist/types/demo/parser.d.ts.map +1 -0
- package/dist/types/demo/playback.d.ts +135 -0
- package/dist/types/demo/playback.d.ts.map +1 -0
- package/dist/types/demo/reader.d.ts +15 -0
- package/dist/types/demo/reader.d.ts.map +1 -0
- package/dist/types/demo/recorder.d.ts +14 -0
- package/dist/types/demo/recorder.d.ts.map +1 -0
- package/dist/types/demo/types.d.ts +37 -0
- package/dist/types/demo/types.d.ts.map +1 -0
- package/dist/types/demo/validator.d.ts +13 -0
- package/dist/types/demo/validator.d.ts.map +1 -0
- package/dist/types/demo/worldStateOptimizer.d.ts +13 -0
- package/dist/types/demo/worldStateOptimizer.d.ts.map +1 -0
- package/dist/types/demo/writer.d.ts +28 -0
- package/dist/types/demo/writer.d.ts.map +1 -0
- package/dist/types/editor/bsp-inspector.d.ts +39 -0
- package/dist/types/editor/bsp-inspector.d.ts.map +1 -0
- package/dist/types/editor/ent.d.ts +21 -0
- package/dist/types/editor/ent.d.ts.map +1 -0
- package/dist/types/host.d.ts +52 -0
- package/dist/types/host.d.ts.map +1 -0
- package/dist/types/index.d.ts +104 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/loop.d.ts +40 -0
- package/dist/types/loop.d.ts.map +1 -0
- package/dist/types/network/clientConnection.d.ts +139 -0
- package/dist/types/network/clientConnection.d.ts.map +1 -0
- package/dist/types/render/__mocks__/frame.d.ts +31 -0
- package/dist/types/render/__mocks__/frame.d.ts.map +1 -0
- package/dist/types/render/bloom.d.ts +19 -0
- package/dist/types/render/bloom.d.ts.map +1 -0
- package/dist/types/render/bsp/generator.d.ts +25 -0
- package/dist/types/render/bsp/generator.d.ts.map +1 -0
- package/dist/types/render/bsp/geometry.d.ts +37 -0
- package/dist/types/render/bsp/geometry.d.ts.map +1 -0
- package/dist/types/render/bsp/renderer.d.ts +12 -0
- package/dist/types/render/bsp/renderer.d.ts.map +1 -0
- package/dist/types/render/bsp/surface.d.ts +4 -0
- package/dist/types/render/bsp/surface.d.ts.map +1 -0
- package/dist/types/render/bsp.d.ts +66 -0
- package/dist/types/render/bsp.d.ts.map +1 -0
- package/dist/types/render/bspPipeline.d.ts +78 -0
- package/dist/types/render/bspPipeline.d.ts.map +1 -0
- package/dist/types/render/bspTraversal.d.ts +13 -0
- package/dist/types/render/bspTraversal.d.ts.map +1 -0
- package/dist/types/render/camera.d.ts +54 -0
- package/dist/types/render/camera.d.ts.map +1 -0
- package/dist/types/render/cameraController.d.ts +28 -0
- package/dist/types/render/cameraController.d.ts.map +1 -0
- package/dist/types/render/collisionVis.d.ts +54 -0
- package/dist/types/render/collisionVis.d.ts.map +1 -0
- package/dist/types/render/colors.d.ts +6 -0
- package/dist/types/render/colors.d.ts.map +1 -0
- package/dist/types/render/context.d.ts +36 -0
- package/dist/types/render/context.d.ts.map +1 -0
- package/dist/types/render/culling.d.ts +12 -0
- package/dist/types/render/culling.d.ts.map +1 -0
- package/dist/types/render/debug.d.ts +36 -0
- package/dist/types/render/debug.d.ts.map +1 -0
- package/dist/types/render/debugMode.d.ts +10 -0
- package/dist/types/render/debugMode.d.ts.map +1 -0
- package/dist/types/render/dlight.d.ts +43 -0
- package/dist/types/render/dlight.d.ts.map +1 -0
- package/dist/types/render/frame.d.ts +78 -0
- package/dist/types/render/frame.d.ts.map +1 -0
- package/dist/types/render/geometry.d.ts +2 -0
- package/dist/types/render/geometry.d.ts.map +1 -0
- package/dist/types/render/gizmo.d.ts +32 -0
- package/dist/types/render/gizmo.d.ts.map +1 -0
- package/dist/types/render/gpuProfiler.d.ts +59 -0
- package/dist/types/render/gpuProfiler.d.ts.map +1 -0
- package/dist/types/render/instancing.d.ts +12 -0
- package/dist/types/render/instancing.d.ts.map +1 -0
- package/dist/types/render/interface.d.ts +50 -0
- package/dist/types/render/interface.d.ts.map +1 -0
- package/dist/types/render/light.d.ts +10 -0
- package/dist/types/render/light.d.ts.map +1 -0
- package/dist/types/render/lightCulling.d.ts +17 -0
- package/dist/types/render/lightCulling.d.ts.map +1 -0
- package/dist/types/render/lightStyles.d.ts +10 -0
- package/dist/types/render/lightStyles.d.ts.map +1 -0
- package/dist/types/render/materialLoader.d.ts +5 -0
- package/dist/types/render/materialLoader.d.ts.map +1 -0
- package/dist/types/render/materials.d.ts +39 -0
- package/dist/types/render/materials.d.ts.map +1 -0
- package/dist/types/render/md2Pipeline.d.ts +74 -0
- package/dist/types/render/md2Pipeline.d.ts.map +1 -0
- package/dist/types/render/md3Pipeline.d.ts +94 -0
- package/dist/types/render/md3Pipeline.d.ts.map +1 -0
- package/dist/types/render/options.d.ts +9 -0
- package/dist/types/render/options.d.ts.map +1 -0
- package/dist/types/render/particleSystem.d.ts +125 -0
- package/dist/types/render/particleSystem.d.ts.map +1 -0
- package/dist/types/render/postprocessing/pipeline.d.ts +13 -0
- package/dist/types/render/postprocessing/pipeline.d.ts.map +1 -0
- package/dist/types/render/renderer.d.ts +8 -0
- package/dist/types/render/renderer.d.ts.map +1 -0
- package/dist/types/render/resources.d.ts +69 -0
- package/dist/types/render/resources.d.ts.map +1 -0
- package/dist/types/render/scene.d.ts +31 -0
- package/dist/types/render/scene.d.ts.map +1 -0
- package/dist/types/render/shaderProgram.d.ts +19 -0
- package/dist/types/render/shaderProgram.d.ts.map +1 -0
- package/dist/types/render/skybox.d.ts +28 -0
- package/dist/types/render/skybox.d.ts.map +1 -0
- package/dist/types/render/sprite.d.ts +21 -0
- package/dist/types/render/sprite.d.ts.map +1 -0
- package/dist/types/render/types.d.ts +29 -0
- package/dist/types/render/types.d.ts.map +1 -0
- package/dist/types/render/webgpu/constants.d.ts +29 -0
- package/dist/types/render/webgpu/constants.d.ts.map +1 -0
- package/dist/types/render/webgpu/context.d.ts +41 -0
- package/dist/types/render/webgpu/context.d.ts.map +1 -0
- package/dist/types/render/webgpu/frame.d.ts +58 -0
- package/dist/types/render/webgpu/frame.d.ts.map +1 -0
- package/dist/types/render/webgpu/headless.d.ts +9 -0
- package/dist/types/render/webgpu/headless.d.ts.map +1 -0
- package/dist/types/render/webgpu/pipelines/sprite.d.ts +31 -0
- package/dist/types/render/webgpu/pipelines/sprite.d.ts.map +1 -0
- package/dist/types/render/webgpu/renderer.d.ts +30 -0
- package/dist/types/render/webgpu/renderer.d.ts.map +1 -0
- package/dist/types/render/webgpu/resources.d.ts +240 -0
- package/dist/types/render/webgpu/resources.d.ts.map +1 -0
- package/dist/types/render/webgpu/shaders/mipmapShader.d.ts +2 -0
- package/dist/types/render/webgpu/shaders/mipmapShader.d.ts.map +1 -0
- package/dist/types/render/webgpu/shaders/spriteShader.d.ts +2 -0
- package/dist/types/render/webgpu/shaders/spriteShader.d.ts.map +1 -0
- package/dist/types/runtime.d.ts +19 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/stream/streamingBuffer.d.ts +102 -0
- package/dist/types/stream/streamingBuffer.d.ts.map +1 -0
- package/dist/types/tools/lightmapExport.d.ts +17 -0
- package/dist/types/tools/lightmapExport.d.ts.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { CvarFlags } from '@quake2ts/shared';
|
|
2
|
+
export type CvarChangeHandler = (cvar: Cvar, previousValue: string) => void;
|
|
3
|
+
export declare class Cvar {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly defaultValue: string;
|
|
6
|
+
readonly description?: string;
|
|
7
|
+
readonly flags: CvarFlags;
|
|
8
|
+
private _value;
|
|
9
|
+
private latched?;
|
|
10
|
+
private onChange?;
|
|
11
|
+
modifiedCount: number;
|
|
12
|
+
constructor({ name, defaultValue, description, flags, onChange, }: {
|
|
13
|
+
name: string;
|
|
14
|
+
defaultValue: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
flags?: CvarFlags;
|
|
17
|
+
onChange?: CvarChangeHandler;
|
|
18
|
+
});
|
|
19
|
+
get string(): string;
|
|
20
|
+
getString(): string;
|
|
21
|
+
get number(): number;
|
|
22
|
+
getFloat(): number;
|
|
23
|
+
get integer(): number;
|
|
24
|
+
getInt(): number;
|
|
25
|
+
get boolean(): boolean;
|
|
26
|
+
getBoolean(): boolean;
|
|
27
|
+
set(value: string): void;
|
|
28
|
+
reset(): void;
|
|
29
|
+
applyLatched(): boolean;
|
|
30
|
+
private apply;
|
|
31
|
+
}
|
|
32
|
+
export interface CvarInfo {
|
|
33
|
+
name: string;
|
|
34
|
+
value: string;
|
|
35
|
+
defaultValue: string;
|
|
36
|
+
flags: CvarFlags;
|
|
37
|
+
description?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare class CvarRegistry {
|
|
40
|
+
private readonly cvars;
|
|
41
|
+
onCvarChange?: (name: string, value: string) => void;
|
|
42
|
+
register(def: {
|
|
43
|
+
name: string;
|
|
44
|
+
defaultValue: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
flags?: CvarFlags;
|
|
47
|
+
onChange?: CvarChangeHandler;
|
|
48
|
+
}): Cvar;
|
|
49
|
+
get(name: string): Cvar | undefined;
|
|
50
|
+
getCvar(name: string): Cvar | undefined;
|
|
51
|
+
setValue(name: string, value: string): Cvar;
|
|
52
|
+
setCvar(name: string, value: string): void;
|
|
53
|
+
resetAll(): void;
|
|
54
|
+
applyLatched(): boolean;
|
|
55
|
+
list(): Cvar[];
|
|
56
|
+
listCvars(): CvarInfo[];
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=cvars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cvars.d.ts","sourceRoot":"","sources":["../../src/cvars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5E,qBAAa,IAAI;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,aAAa,SAAK;gBAEN,EACV,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,KAAsB,EACtB,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KAC9B;IASD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,SAAS,IAAI,MAAM;IAInB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM;IAIlB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,MAAM,IAAI,MAAM;IAIhB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,UAAU,IAAI,OAAO;IAIrB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBxB,KAAK,IAAI,IAAI;IAKb,YAAY,IAAI,OAAO;IAcvB,OAAO,CAAC,KAAK;CAUd;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAC1C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5D,QAAQ,CAAC,GAAG,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KAC9B,GAAG,IAAI;IAkBR,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU3C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1C,QAAQ,IAAI,IAAI;IAMhB,YAAY,IAAI,OAAO;IAQvB,IAAI,IAAI,IAAI,EAAE;IAId,SAAS,IAAI,QAAQ,EAAE;CASxB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Vec3 } from '@quake2ts/shared';
|
|
2
|
+
export interface FrameDiff {
|
|
3
|
+
frameA: number;
|
|
4
|
+
frameB: number;
|
|
5
|
+
playerStateDiff: {
|
|
6
|
+
origin: Vec3 | null;
|
|
7
|
+
viewangles: Vec3 | null;
|
|
8
|
+
health: number | null;
|
|
9
|
+
ammo: number | null;
|
|
10
|
+
};
|
|
11
|
+
entityDiffs: {
|
|
12
|
+
added: number[];
|
|
13
|
+
removed: number[];
|
|
14
|
+
moved: {
|
|
15
|
+
id: number;
|
|
16
|
+
delta: Vec3;
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare enum DemoEventType {
|
|
21
|
+
WeaponFire = "weapon_fire",
|
|
22
|
+
DamageDealt = "damage_dealt",
|
|
23
|
+
DamageReceived = "damage_received",
|
|
24
|
+
Pickup = "pickup",
|
|
25
|
+
Death = "death",
|
|
26
|
+
Kill = "kill",
|
|
27
|
+
Spawn = "spawn",
|
|
28
|
+
PlayerInfo = "player_info",
|
|
29
|
+
Chat = "chat",
|
|
30
|
+
Objective = "objective"
|
|
31
|
+
}
|
|
32
|
+
export interface DemoEvent {
|
|
33
|
+
type: DemoEventType;
|
|
34
|
+
frame: number;
|
|
35
|
+
time: number;
|
|
36
|
+
entityId?: number;
|
|
37
|
+
targetId?: number;
|
|
38
|
+
value?: number;
|
|
39
|
+
position?: Vec3;
|
|
40
|
+
description?: string;
|
|
41
|
+
data?: any;
|
|
42
|
+
}
|
|
43
|
+
export interface EventSummary {
|
|
44
|
+
totalKills: number;
|
|
45
|
+
totalDeaths: number;
|
|
46
|
+
damageDealt: number;
|
|
47
|
+
damageReceived: number;
|
|
48
|
+
weaponUsage: Map<number, number>;
|
|
49
|
+
}
|
|
50
|
+
export interface DemoHeader {
|
|
51
|
+
protocolVersion: number;
|
|
52
|
+
gameDir: string;
|
|
53
|
+
levelName: string;
|
|
54
|
+
playerNum: number;
|
|
55
|
+
serverCount?: number;
|
|
56
|
+
spawnCount?: number;
|
|
57
|
+
tickRate?: number;
|
|
58
|
+
demoType?: number;
|
|
59
|
+
}
|
|
60
|
+
export interface ServerInfo {
|
|
61
|
+
[key: string]: string;
|
|
62
|
+
}
|
|
63
|
+
export interface DemoStatistics {
|
|
64
|
+
duration: number;
|
|
65
|
+
frameCount: number;
|
|
66
|
+
averageFps: number;
|
|
67
|
+
mapName: string;
|
|
68
|
+
playerCount: number;
|
|
69
|
+
}
|
|
70
|
+
export interface PlayerStatistics {
|
|
71
|
+
kills: number;
|
|
72
|
+
deaths: number;
|
|
73
|
+
damageDealt: number;
|
|
74
|
+
damageReceived: number;
|
|
75
|
+
suicides: number;
|
|
76
|
+
}
|
|
77
|
+
export interface WeaponStatistics {
|
|
78
|
+
weaponId: number;
|
|
79
|
+
shotsFired: number;
|
|
80
|
+
hits: number;
|
|
81
|
+
kills: number;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../../src/demo/analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE;QACb,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;QACpB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,WAAW,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,IAAI,CAAA;SAAE,EAAE,CAAC;KACxC,CAAC;CACL;AAED,oBAAY,aAAa;IACrB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;IAClC,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,UAAU,gBAAgB;IAC1B,IAAI,SAAS;IACb,SAAS,cAAc;CAC1B;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DemoEvent, EventSummary, DemoHeader, ServerInfo, DemoStatistics, PlayerStatistics, WeaponStatistics } from './analysis.js';
|
|
2
|
+
/**
|
|
3
|
+
* Helper class to scan a demo for events and metadata.
|
|
4
|
+
*/
|
|
5
|
+
export declare class DemoAnalyzer {
|
|
6
|
+
private buffer;
|
|
7
|
+
private events;
|
|
8
|
+
private summary;
|
|
9
|
+
private header;
|
|
10
|
+
private configStrings;
|
|
11
|
+
private serverInfo;
|
|
12
|
+
private statistics;
|
|
13
|
+
private playerStats;
|
|
14
|
+
private weaponStats;
|
|
15
|
+
private activeEntities;
|
|
16
|
+
constructor(buffer: ArrayBuffer);
|
|
17
|
+
analyze(): {
|
|
18
|
+
events: DemoEvent[];
|
|
19
|
+
summary: EventSummary;
|
|
20
|
+
header: DemoHeader | null;
|
|
21
|
+
configStrings: Map<number, string>;
|
|
22
|
+
serverInfo: ServerInfo;
|
|
23
|
+
statistics: DemoStatistics | null;
|
|
24
|
+
playerStats: Map<number, PlayerStatistics>;
|
|
25
|
+
weaponStats: Map<number, WeaponStatistics[]>;
|
|
26
|
+
};
|
|
27
|
+
private handleWeaponFire;
|
|
28
|
+
private recordEvent;
|
|
29
|
+
private parseServerInfo;
|
|
30
|
+
private getOrCreatePlayerStats;
|
|
31
|
+
private getOrCreateWeaponStat;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../src/demo/analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnJ;;GAEG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAMb;IAEF,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,WAAW,CAA8C;IAEjE,OAAO,CAAC,cAAc,CAAqB;gBAE/B,MAAM,EAAE,WAAW;IAIxB,OAAO,IAAI;QACd,MAAM,EAAE,SAAS,EAAE,CAAC;QACpB,OAAO,EAAE,YAAY,CAAC;QACtB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;QAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAA;KAC/C;IAoLD,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,qBAAqB;CAahC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { DemoPackage } from './packager.js';
|
|
2
|
+
import { OptimalWindow } from './optimalClipFinder.js';
|
|
3
|
+
export interface ClipCriteria {
|
|
4
|
+
duration: number;
|
|
5
|
+
maxResources?: number;
|
|
6
|
+
minAction?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface DemoAnalysisReport {
|
|
9
|
+
summary: {
|
|
10
|
+
duration: number;
|
|
11
|
+
totalResources: number;
|
|
12
|
+
};
|
|
13
|
+
optimalWindows: OptimalWindow[];
|
|
14
|
+
}
|
|
15
|
+
export declare class DemoOptimizerApi {
|
|
16
|
+
private packager;
|
|
17
|
+
private clipFinder;
|
|
18
|
+
private clipper;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Create a raw demo clip from a demo file.
|
|
22
|
+
*/
|
|
23
|
+
createDemoClip(demoData: Uint8Array, startTime: number, duration: number): Promise<Uint8Array>;
|
|
24
|
+
/**
|
|
25
|
+
* Create an optimized package (clip + PAK) containing only necessary assets.
|
|
26
|
+
*/
|
|
27
|
+
createOptimalDemoPackage(demoData: Uint8Array, pakFiles: {
|
|
28
|
+
name: string;
|
|
29
|
+
data: Uint8Array;
|
|
30
|
+
}[], criteria: ClipCriteria): Promise<DemoPackage>;
|
|
31
|
+
/**
|
|
32
|
+
* Analyze a demo to find resource usage and optimal windows.
|
|
33
|
+
*/
|
|
34
|
+
analyzeDemo(demoData: Uint8Array): Promise<DemoAnalysisReport>;
|
|
35
|
+
/**
|
|
36
|
+
* Find best clips based on specific criteria.
|
|
37
|
+
*/
|
|
38
|
+
findBestClips(demoData: Uint8Array, criteria: ClipCriteria): Promise<OptimalWindow[]>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/demo/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAkB,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAqB,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAQhG,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,cAAc,EAAE,aAAa,EAAE,CAAC;CAEnC;AAED,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAc;;IAQ7B;;OAEG;IACU,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAc3G;;OAEG;IACU,wBAAwB,CACjC,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EAAE,EAC9C,QAAQ,EAAE,YAAY,GACvB,OAAO,CAAC,WAAW,CAAC;IA0BvB;;OAEG;IACU,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwB3E;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAoBrG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { NetworkMessageHandler } from './parser.js';
|
|
2
|
+
export interface AsyncDemoParserOptions {
|
|
3
|
+
onProgress?: (progress: number) => void;
|
|
4
|
+
protocolVersion?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class AsyncDemoParser {
|
|
7
|
+
private worker;
|
|
8
|
+
private handler;
|
|
9
|
+
constructor(handler: NetworkMessageHandler);
|
|
10
|
+
parse(buffer: ArrayBuffer, options?: AsyncDemoParserOptions): Promise<void>;
|
|
11
|
+
private boundHandleMessage;
|
|
12
|
+
private handleMessage;
|
|
13
|
+
terminate(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=asyncParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncParser.d.ts","sourceRoot":"","sources":["../../../src/demo/asyncParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAyE,MAAM,aAAa,CAAC;AAI3H,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAwB;gBAE3B,OAAO,EAAE,qBAAqB;IAQnC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CtF,OAAO,CAAC,kBAAkB,CAAqD;IAE/E,OAAO,CAAC,aAAa;IA0Fd,SAAS,IAAI,IAAI;CAGzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Vec3 } from '@quake2ts/shared';
|
|
2
|
+
export declare enum DemoCameraMode {
|
|
3
|
+
FirstPerson = 0,
|
|
4
|
+
ThirdPerson = 1,
|
|
5
|
+
Free = 2,
|
|
6
|
+
Follow = 3
|
|
7
|
+
}
|
|
8
|
+
export interface DemoCameraState {
|
|
9
|
+
mode: DemoCameraMode;
|
|
10
|
+
thirdPersonDistance: number;
|
|
11
|
+
thirdPersonOffset: Vec3;
|
|
12
|
+
freeCameraOrigin: Vec3;
|
|
13
|
+
freeCameraAngles: Vec3;
|
|
14
|
+
followEntityId: number;
|
|
15
|
+
currentFollowOrigin?: Vec3;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../src/demo/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,oBAAY,cAAc;IACtB,WAAW,IAAA;IACX,WAAW,IAAA;IACX,IAAI,IAAA;IACJ,MAAM,IAAA;CACT;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,IAAI,CAAC;IACxB,gBAAgB,EAAE,IAAI,CAAC;IACvB,gBAAgB,EAAE,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,IAAI,CAAC;CAC9B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ProtocolPlayerState, EntityState } from './parser.js';
|
|
2
|
+
import { PlaybackOffset, DemoPlaybackController } from './playback.js';
|
|
3
|
+
export interface ServerDataMessage {
|
|
4
|
+
protocol: number;
|
|
5
|
+
serverCount: number;
|
|
6
|
+
attractLoop: number;
|
|
7
|
+
gameDir: string;
|
|
8
|
+
playerNum: number;
|
|
9
|
+
levelName: string;
|
|
10
|
+
tickRate?: number;
|
|
11
|
+
demoType?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface WorldState {
|
|
14
|
+
serverData: ServerDataMessage;
|
|
15
|
+
configStrings: Map<number, string>;
|
|
16
|
+
entityBaselines: Map<number, EntityState>;
|
|
17
|
+
playerState: ProtocolPlayerState;
|
|
18
|
+
currentEntities: Map<number, EntityState>;
|
|
19
|
+
currentFrameNumber?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class DemoClipper {
|
|
22
|
+
/**
|
|
23
|
+
* Extracts a raw clip from a demo between two offsets.
|
|
24
|
+
* Simply copies the message blocks.
|
|
25
|
+
*/
|
|
26
|
+
extractClip(demo: Uint8Array, start: PlaybackOffset, end: PlaybackOffset, controller: DemoPlaybackController): Uint8Array;
|
|
27
|
+
extractDemoRange(demo: Uint8Array, startFrame: number, endFrame: number): Uint8Array;
|
|
28
|
+
/**
|
|
29
|
+
* Captures the world state at a specific offset by playing the demo up to that point.
|
|
30
|
+
*/
|
|
31
|
+
captureWorldState(demo: Uint8Array, atOffset: PlaybackOffset): Promise<WorldState>;
|
|
32
|
+
extractStandaloneClip(demo: Uint8Array, start: PlaybackOffset, end: PlaybackOffset, worldState: WorldState): Uint8Array;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=clipper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipper.d.ts","sourceRoot":"","sources":["../../../src/demo/clipper.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+C,mBAAmB,EAAE,WAAW,EAAgc,MAAM,aAAa,CAAC;AAG1iB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAiB,MAAM,eAAe,CAAC;AAGtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,WAAW,EAAE,mBAAmB,CAAC;IAEjC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,WAAW;IAEpB;;;OAGG;IACI,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,sBAAsB,GAAG,UAAU;IAqCzH,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;IAU3F;;OAEG;IACU,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA+GxF,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU;CA2JjI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../src/demo/delta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuV,MAAM,aAAa,CAAC;AAE/X,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAgDzE"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { FrameData, EntityState, DamageIndicator, FogData } from './parser.js';
|
|
2
|
+
import { Vec3 } from '@quake2ts/shared';
|
|
3
|
+
export type DemoWorkerRequest = {
|
|
4
|
+
type: 'parse';
|
|
5
|
+
buffer: ArrayBuffer;
|
|
6
|
+
protocolVersion?: number;
|
|
7
|
+
};
|
|
8
|
+
export type DemoWorkerResponse = {
|
|
9
|
+
type: 'serverData';
|
|
10
|
+
protocol: number;
|
|
11
|
+
serverCount: number;
|
|
12
|
+
attractLoop: number;
|
|
13
|
+
gameDir: string;
|
|
14
|
+
playerNum: number;
|
|
15
|
+
levelName: string;
|
|
16
|
+
tickRate?: number;
|
|
17
|
+
demoType?: number;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'configString';
|
|
20
|
+
index: number;
|
|
21
|
+
str: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'spawnBaseline';
|
|
24
|
+
entity: EntityState;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'frame';
|
|
27
|
+
frame: FrameData;
|
|
28
|
+
} | {
|
|
29
|
+
type: 'centerPrint';
|
|
30
|
+
msg: string;
|
|
31
|
+
} | {
|
|
32
|
+
type: 'stuffText';
|
|
33
|
+
msg: string;
|
|
34
|
+
} | {
|
|
35
|
+
type: 'print';
|
|
36
|
+
level: number;
|
|
37
|
+
msg: string;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'sound';
|
|
40
|
+
flags: number;
|
|
41
|
+
soundNum: number;
|
|
42
|
+
volume?: number;
|
|
43
|
+
attenuation?: number;
|
|
44
|
+
offset?: number;
|
|
45
|
+
ent?: number;
|
|
46
|
+
pos?: Vec3;
|
|
47
|
+
} | {
|
|
48
|
+
type: 'tempEntity';
|
|
49
|
+
typeId: number;
|
|
50
|
+
pos: Vec3;
|
|
51
|
+
pos2?: Vec3;
|
|
52
|
+
dir?: Vec3;
|
|
53
|
+
cnt?: number;
|
|
54
|
+
color?: number;
|
|
55
|
+
ent?: number;
|
|
56
|
+
srcEnt?: number;
|
|
57
|
+
destEnt?: number;
|
|
58
|
+
} | {
|
|
59
|
+
type: 'layout';
|
|
60
|
+
layout: string;
|
|
61
|
+
} | {
|
|
62
|
+
type: 'inventory';
|
|
63
|
+
inventory: number[];
|
|
64
|
+
} | {
|
|
65
|
+
type: 'muzzleFlash';
|
|
66
|
+
ent: number;
|
|
67
|
+
weapon: number;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'muzzleFlash2';
|
|
70
|
+
ent: number;
|
|
71
|
+
weapon: number;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'disconnect';
|
|
74
|
+
} | {
|
|
75
|
+
type: 'reconnect';
|
|
76
|
+
} | {
|
|
77
|
+
type: 'download';
|
|
78
|
+
size: number;
|
|
79
|
+
percent: number;
|
|
80
|
+
data?: Uint8Array;
|
|
81
|
+
} | {
|
|
82
|
+
type: 'splitClient';
|
|
83
|
+
clientNum: number;
|
|
84
|
+
} | {
|
|
85
|
+
type: 'levelRestart';
|
|
86
|
+
} | {
|
|
87
|
+
type: 'damage';
|
|
88
|
+
indicators: DamageIndicator[];
|
|
89
|
+
} | {
|
|
90
|
+
type: 'locPrint';
|
|
91
|
+
flags: number;
|
|
92
|
+
base: string;
|
|
93
|
+
args: string[];
|
|
94
|
+
} | {
|
|
95
|
+
type: 'fog';
|
|
96
|
+
data: FogData;
|
|
97
|
+
} | {
|
|
98
|
+
type: 'waitingForPlayers';
|
|
99
|
+
count: number;
|
|
100
|
+
} | {
|
|
101
|
+
type: 'botChat';
|
|
102
|
+
msg: string;
|
|
103
|
+
} | {
|
|
104
|
+
type: 'poi';
|
|
105
|
+
flags: number;
|
|
106
|
+
pos: Vec3;
|
|
107
|
+
} | {
|
|
108
|
+
type: 'helpPath';
|
|
109
|
+
pos: Vec3;
|
|
110
|
+
} | {
|
|
111
|
+
type: 'muzzleFlash3';
|
|
112
|
+
ent: number;
|
|
113
|
+
weapon: number;
|
|
114
|
+
} | {
|
|
115
|
+
type: 'achievement';
|
|
116
|
+
id: string;
|
|
117
|
+
} | {
|
|
118
|
+
type: 'progress';
|
|
119
|
+
percent: number;
|
|
120
|
+
} | {
|
|
121
|
+
type: 'complete';
|
|
122
|
+
} | {
|
|
123
|
+
type: 'error';
|
|
124
|
+
message: string;
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=demo.worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo.worker.d.ts","sourceRoot":"","sources":["../../../src/demo/demo.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BinaryStream } from '@quake2ts/shared';
|
|
2
|
+
export interface DemoMessageBlock {
|
|
3
|
+
length: number;
|
|
4
|
+
data: BinaryStream;
|
|
5
|
+
}
|
|
6
|
+
export declare class DemoReader {
|
|
7
|
+
private buffer;
|
|
8
|
+
private view;
|
|
9
|
+
private offset;
|
|
10
|
+
private messageOffsets;
|
|
11
|
+
private currentBlock;
|
|
12
|
+
constructor(buffer: ArrayBuffer);
|
|
13
|
+
/**
|
|
14
|
+
* Scans the buffer to build an index of message offsets.
|
|
15
|
+
*/
|
|
16
|
+
private scan;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if there are more blocks to read.
|
|
19
|
+
*/
|
|
20
|
+
hasMore(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Reads the next message block from the demo file.
|
|
23
|
+
* Format is [Length (4 bytes)] + [Message Block (Length bytes)].
|
|
24
|
+
* Returns null if end of file or incomplete block.
|
|
25
|
+
*/
|
|
26
|
+
readNextBlock(): DemoMessageBlock | null;
|
|
27
|
+
/**
|
|
28
|
+
* Advances to the next block and stores it in `currentBlock`.
|
|
29
|
+
* Returns true if a block was read, false otherwise.
|
|
30
|
+
* Compatible with `getBlock()` usage.
|
|
31
|
+
*/
|
|
32
|
+
nextBlock(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the current block read by `nextBlock()`.
|
|
35
|
+
*/
|
|
36
|
+
getBlock(): DemoMessageBlock;
|
|
37
|
+
/**
|
|
38
|
+
* Reads all remaining blocks and concatenates them into a single buffer.
|
|
39
|
+
* Useful for converting discrete blocks into a continuous stream.
|
|
40
|
+
*/
|
|
41
|
+
readAllBlocksToBuffer(): ArrayBuffer;
|
|
42
|
+
/**
|
|
43
|
+
* Resets the reader to the beginning.
|
|
44
|
+
*/
|
|
45
|
+
reset(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Seeks to a specific message index.
|
|
48
|
+
* Returns true if successful, false if index is out of bounds.
|
|
49
|
+
*/
|
|
50
|
+
seekToMessage(index: number): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Returns the total number of messages in the demo.
|
|
53
|
+
*/
|
|
54
|
+
getMessageCount(): number;
|
|
55
|
+
getOffset(): number;
|
|
56
|
+
getProgress(): {
|
|
57
|
+
current: number;
|
|
58
|
+
total: number;
|
|
59
|
+
percent: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=demoReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoReader.d.ts","sourceRoot":"","sources":["../../../src/demo/demoReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAiC;gBAEzC,MAAM,EAAE,WAAW;IAO/B;;OAEG;IACH,OAAO,CAAC,IAAI;IA6BZ;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;;;OAIG;IACI,aAAa,IAAI,gBAAgB,GAAG,IAAI;IA4B/C;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAU3B;;OAEG;IACI,QAAQ,IAAI,gBAAgB;IAOnC;;;OAGG;IACI,qBAAqB,IAAI,WAAW;IAoC3C;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAS5C;;OAEG;IACI,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAS1E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DemoWriter } from './demoWriter.js';
|
|
2
|
+
import { RecorderSnapshot } from './types.js';
|
|
3
|
+
export declare class DemoRecorder {
|
|
4
|
+
private demoWriter;
|
|
5
|
+
private frameCount;
|
|
6
|
+
private firstFrame;
|
|
7
|
+
private lastPacketEntities;
|
|
8
|
+
private lastEntityStates;
|
|
9
|
+
private protocolVersion;
|
|
10
|
+
constructor();
|
|
11
|
+
getWriter(): DemoWriter;
|
|
12
|
+
recordServerData(protocolVersion: number, serverCount: number, gameDir: string, playerNum: number, mapName: string, configStrings: string[]): void;
|
|
13
|
+
recordSnapshot(snapshot: RecorderSnapshot, frameNumber: number, timeMs: number): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=demoRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoRecorder.d.ts","sourceRoot":"","sources":["../../../src/demo/demoRecorder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,YAAY;IACrB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,eAAe,CAAc;;IAM9B,SAAS,IAAI,UAAU;IAIvB,gBAAgB,CACnB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EAAE,GACxB,IAAI;IAiCA,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAkF/F"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DemoReader } from './index.js';
|
|
2
|
+
import { StreamingBuffer } from '../stream/streamingBuffer.js';
|
|
3
|
+
/**
|
|
4
|
+
* DemoStream - Adapter to stream demo blocks into a StreamingBuffer
|
|
5
|
+
*
|
|
6
|
+
* Facilitates reading a demo file (which consists of discrete blocks)
|
|
7
|
+
* as a continuous stream of data for the NetworkMessageParser.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DemoStream {
|
|
10
|
+
private reader;
|
|
11
|
+
private buffer;
|
|
12
|
+
private _isComplete;
|
|
13
|
+
constructor(demoData: ArrayBuffer | Uint8Array);
|
|
14
|
+
/**
|
|
15
|
+
* Load all remaining blocks from the demo into the streaming buffer.
|
|
16
|
+
* Useful for parsing a complete demo file at once.
|
|
17
|
+
*/
|
|
18
|
+
loadComplete(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Load the next N blocks from the demo into the streaming buffer.
|
|
21
|
+
* Useful for simulating streaming playback or throttling.
|
|
22
|
+
* @param count Number of blocks to load
|
|
23
|
+
* @returns True if blocks were loaded, False if end of demo reached
|
|
24
|
+
*/
|
|
25
|
+
loadNextBlocks(count: number): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Check if the entire demo has been loaded into the buffer.
|
|
28
|
+
*/
|
|
29
|
+
isComplete(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Get the underlying streaming buffer for parsing.
|
|
32
|
+
*/
|
|
33
|
+
getBuffer(): StreamingBuffer;
|
|
34
|
+
/**
|
|
35
|
+
* Get the underlying demo reader (e.g. to check total size or progress)
|
|
36
|
+
*/
|
|
37
|
+
getReader(): DemoReader;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=demoStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoStream.d.ts","sourceRoot":"","sources":["../../../src/demo/demoStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;;GAKG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,QAAQ,EAAE,WAAW,GAAG,UAAU;IAK9C;;;OAGG;IACH,YAAY,IAAI,IAAI;IAcpB;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAkBtC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,SAAS,IAAI,UAAU;CAG1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoWriter.d.ts","sourceRoot":"","sources":["../../../src/demo/demoWriter.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAe;;IAMtB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKlC,QAAQ,IAAI,IAAI;IAIhB,OAAO,IAAI,UAAU;CAG/B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { DemoPlaybackController, PlaybackState } from './playback.js';
|
|
2
|
+
export { DemoReader } from './demoReader.js';
|
|
3
|
+
export { DemoRecorder } from './recorder.js';
|
|
4
|
+
export { NetworkMessageParser, createEmptyEntityState, createEmptyProtocolPlayerState } from './parser.js';
|
|
5
|
+
export { AsyncDemoParser } from './asyncParser.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/demo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|