quake2ts 0.0.591 → 0.0.592
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 +3 -3
- package/packages/client/dist/browser/index.global.js +1 -1
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +31 -31
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +31 -31
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/net/clientConnection.d.ts +78 -0
- package/packages/client/dist/types/net/clientConnection.d.ts.map +1 -0
- package/packages/engine/dist/browser/index.global.js +9 -9
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +42 -33
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +41 -33
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/assets/vfs.d.ts +2 -2
- package/packages/engine/dist/types/assets/vfs.d.ts.map +1 -1
- package/packages/engine/dist/types/index.d.ts +1 -0
- package/packages/engine/dist/types/index.d.ts.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/dist/browser/index.global.js.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -2187,6 +2187,7 @@ var VirtualFileSystem = class {
|
|
|
2187
2187
|
sources.unshift(source);
|
|
2188
2188
|
sources.sort((a, b) => b.priority - a.priority);
|
|
2189
2189
|
}
|
|
2190
|
+
return archive;
|
|
2190
2191
|
}
|
|
2191
2192
|
setPriority(archive, priority) {
|
|
2192
2193
|
this.mountPak(archive, priority);
|
|
@@ -2288,6 +2289,12 @@ var VirtualFileSystem = class {
|
|
|
2288
2289
|
return listing.files;
|
|
2289
2290
|
}
|
|
2290
2291
|
findByExtension(extension) {
|
|
2292
|
+
if (extension instanceof RegExp) {
|
|
2293
|
+
return this.searchFiles(extension);
|
|
2294
|
+
}
|
|
2295
|
+
if (Array.isArray(extension)) {
|
|
2296
|
+
return this.listByExtension(extension);
|
|
2297
|
+
}
|
|
2291
2298
|
const normalizedExt = extension.startsWith(".") ? extension.toLowerCase() : `.${extension.toLowerCase()}`;
|
|
2292
2299
|
const results = [];
|
|
2293
2300
|
for (const [path, sources] of this.files) {
|
|
@@ -16504,39 +16511,6 @@ var DemoRecorder = class {
|
|
|
16504
16511
|
}
|
|
16505
16512
|
};
|
|
16506
16513
|
|
|
16507
|
-
// src/demo/validator.ts
|
|
16508
|
-
var DemoValidator = class {
|
|
16509
|
-
/**
|
|
16510
|
-
* Validates a Quake 2 demo file buffer.
|
|
16511
|
-
* Checks for minimum size, first block length, and initial serverdata command.
|
|
16512
|
-
*/
|
|
16513
|
-
static validate(buffer, filename) {
|
|
16514
|
-
if (filename && !filename.toLowerCase().endsWith(".dm2")) {
|
|
16515
|
-
return { valid: false, error: "Invalid file extension (expected .dm2)" };
|
|
16516
|
-
}
|
|
16517
|
-
if (buffer.byteLength < 5) {
|
|
16518
|
-
return { valid: false, error: "File too small to be a valid demo" };
|
|
16519
|
-
}
|
|
16520
|
-
const view = new DataView(buffer);
|
|
16521
|
-
const length2 = view.getInt32(0, true);
|
|
16522
|
-
if (length2 <= 0 || length2 > buffer.byteLength - 4) {
|
|
16523
|
-
return { valid: false, error: `Invalid first block length: ${length2}` };
|
|
16524
|
-
}
|
|
16525
|
-
const firstCmd = view.getUint8(4);
|
|
16526
|
-
if (firstCmd !== ServerCommand.serverdata) {
|
|
16527
|
-
return {
|
|
16528
|
-
valid: false,
|
|
16529
|
-
error: `First command is not svc_serverdata (expected ${ServerCommand.serverdata}, got ${firstCmd})`
|
|
16530
|
-
};
|
|
16531
|
-
}
|
|
16532
|
-
let version = -1;
|
|
16533
|
-
if (length2 >= 5) {
|
|
16534
|
-
version = view.getInt32(5, true);
|
|
16535
|
-
}
|
|
16536
|
-
return { valid: true, version };
|
|
16537
|
-
}
|
|
16538
|
-
};
|
|
16539
|
-
|
|
16540
16514
|
// src/demo/writer.ts
|
|
16541
16515
|
var PROTO34_REVERSE_MAP = {
|
|
16542
16516
|
[ServerCommand.bad]: 0,
|
|
@@ -17009,6 +16983,39 @@ var MessageWriter = class {
|
|
|
17009
16983
|
}
|
|
17010
16984
|
};
|
|
17011
16985
|
|
|
16986
|
+
// src/demo/validator.ts
|
|
16987
|
+
var DemoValidator = class {
|
|
16988
|
+
/**
|
|
16989
|
+
* Validates a Quake 2 demo file buffer.
|
|
16990
|
+
* Checks for minimum size, first block length, and initial serverdata command.
|
|
16991
|
+
*/
|
|
16992
|
+
static validate(buffer, filename) {
|
|
16993
|
+
if (filename && !filename.toLowerCase().endsWith(".dm2")) {
|
|
16994
|
+
return { valid: false, error: "Invalid file extension (expected .dm2)" };
|
|
16995
|
+
}
|
|
16996
|
+
if (buffer.byteLength < 5) {
|
|
16997
|
+
return { valid: false, error: "File too small to be a valid demo" };
|
|
16998
|
+
}
|
|
16999
|
+
const view = new DataView(buffer);
|
|
17000
|
+
const length2 = view.getInt32(0, true);
|
|
17001
|
+
if (length2 <= 0 || length2 > buffer.byteLength - 4) {
|
|
17002
|
+
return { valid: false, error: `Invalid first block length: ${length2}` };
|
|
17003
|
+
}
|
|
17004
|
+
const firstCmd = view.getUint8(4);
|
|
17005
|
+
if (firstCmd !== ServerCommand.serverdata) {
|
|
17006
|
+
return {
|
|
17007
|
+
valid: false,
|
|
17008
|
+
error: `First command is not svc_serverdata (expected ${ServerCommand.serverdata}, got ${firstCmd})`
|
|
17009
|
+
};
|
|
17010
|
+
}
|
|
17011
|
+
let version = -1;
|
|
17012
|
+
if (length2 >= 5) {
|
|
17013
|
+
version = view.getInt32(5, true);
|
|
17014
|
+
}
|
|
17015
|
+
return { valid: true, version };
|
|
17016
|
+
}
|
|
17017
|
+
};
|
|
17018
|
+
|
|
17012
17019
|
// src/demo/demoWriter.ts
|
|
17013
17020
|
var DemoWriter = class {
|
|
17014
17021
|
constructor() {
|
|
@@ -17965,6 +17972,7 @@ export {
|
|
|
17965
17972
|
Md3ParseError,
|
|
17966
17973
|
Md3Pipeline,
|
|
17967
17974
|
Md3SurfaceMesh,
|
|
17975
|
+
MessageWriter,
|
|
17968
17976
|
MusicSystem,
|
|
17969
17977
|
NetworkMessageParser,
|
|
17970
17978
|
PARTICLE_FRAGMENT_SHADER,
|