quake2ts 0.0.557 → 0.0.562
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 -1
- package/packages/client/dist/browser/index.global.js +15 -15
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +343 -1
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +343 -1
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/index.d.ts.map +1 -1
- package/packages/client/dist/types/net/connection.d.ts +2 -0
- package/packages/client/dist/types/net/connection.d.ts.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/render/bloom.d.ts +19 -0
- package/packages/engine/dist/types/render/bloom.d.ts.map +1 -0
- package/packages/engine/dist/types/render/frame.d.ts +2 -0
- package/packages/engine/dist/types/render/frame.d.ts.map +1 -1
- package/packages/engine/dist/types/render/renderer.d.ts +2 -0
- package/packages/engine/dist/types/render/renderer.d.ts.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/server/dist/client.d.ts +51 -0
- package/packages/server/dist/client.js +100 -0
- package/packages/server/dist/dedicated.d.ts +69 -0
- package/packages/server/dist/dedicated.js +1013 -0
- package/packages/server/dist/index.cjs +27 -2
- package/packages/server/dist/index.d.ts +7 -161
- package/packages/server/dist/index.js +26 -2
- package/packages/server/dist/net/nodeWsDriver.d.ts +16 -0
- package/packages/server/dist/net/nodeWsDriver.js +122 -0
- package/packages/server/dist/protocol/player.d.ts +23 -0
- package/packages/server/dist/protocol/player.js +137 -0
- package/packages/server/dist/protocol/write.d.ts +7 -0
- package/packages/server/dist/protocol/write.js +167 -0
- package/packages/server/dist/protocol.d.ts +17 -0
- package/packages/server/dist/protocol.js +71 -0
- package/packages/server/dist/server.d.ts +50 -0
- package/packages/server/dist/server.js +12 -0
- package/packages/server/dist/server.test.d.ts +1 -0
- package/packages/server/dist/server.test.js +69 -0
- package/packages/server/dist/transport.d.ts +7 -0
- package/packages/server/dist/transport.js +1 -0
- package/packages/server/dist/transports/websocket.d.ts +11 -0
- package/packages/server/dist/transports/websocket.js +38 -0
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/test-utils/dist/index.cjs +498 -284
- package/packages/test-utils/dist/index.cjs.map +1 -1
- package/packages/test-utils/dist/index.d.cts +215 -146
- package/packages/test-utils/dist/index.d.ts +215 -146
- package/packages/test-utils/dist/index.js +488 -278
- package/packages/test-utils/dist/index.js.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/server/dist/index.d.cts +0 -161
|
@@ -11482,6 +11482,271 @@ var RenderFx = /* @__PURE__ */ ((RenderFx22) => {
|
|
|
11482
11482
|
RenderFx22[RenderFx22["Flashlight"] = 2097152] = "Flashlight";
|
|
11483
11483
|
return RenderFx22;
|
|
11484
11484
|
})(RenderFx || {});
|
|
11485
|
+
var crc_table = [
|
|
11486
|
+
0,
|
|
11487
|
+
145,
|
|
11488
|
+
227,
|
|
11489
|
+
114,
|
|
11490
|
+
7,
|
|
11491
|
+
150,
|
|
11492
|
+
228,
|
|
11493
|
+
117,
|
|
11494
|
+
14,
|
|
11495
|
+
159,
|
|
11496
|
+
237,
|
|
11497
|
+
124,
|
|
11498
|
+
9,
|
|
11499
|
+
152,
|
|
11500
|
+
234,
|
|
11501
|
+
123,
|
|
11502
|
+
28,
|
|
11503
|
+
141,
|
|
11504
|
+
255,
|
|
11505
|
+
110,
|
|
11506
|
+
27,
|
|
11507
|
+
138,
|
|
11508
|
+
248,
|
|
11509
|
+
105,
|
|
11510
|
+
18,
|
|
11511
|
+
131,
|
|
11512
|
+
241,
|
|
11513
|
+
96,
|
|
11514
|
+
21,
|
|
11515
|
+
132,
|
|
11516
|
+
246,
|
|
11517
|
+
103,
|
|
11518
|
+
56,
|
|
11519
|
+
169,
|
|
11520
|
+
219,
|
|
11521
|
+
74,
|
|
11522
|
+
63,
|
|
11523
|
+
174,
|
|
11524
|
+
220,
|
|
11525
|
+
77,
|
|
11526
|
+
54,
|
|
11527
|
+
167,
|
|
11528
|
+
213,
|
|
11529
|
+
68,
|
|
11530
|
+
49,
|
|
11531
|
+
160,
|
|
11532
|
+
210,
|
|
11533
|
+
67,
|
|
11534
|
+
36,
|
|
11535
|
+
181,
|
|
11536
|
+
199,
|
|
11537
|
+
86,
|
|
11538
|
+
35,
|
|
11539
|
+
178,
|
|
11540
|
+
192,
|
|
11541
|
+
81,
|
|
11542
|
+
42,
|
|
11543
|
+
187,
|
|
11544
|
+
201,
|
|
11545
|
+
88,
|
|
11546
|
+
45,
|
|
11547
|
+
188,
|
|
11548
|
+
206,
|
|
11549
|
+
95,
|
|
11550
|
+
112,
|
|
11551
|
+
225,
|
|
11552
|
+
147,
|
|
11553
|
+
2,
|
|
11554
|
+
119,
|
|
11555
|
+
230,
|
|
11556
|
+
148,
|
|
11557
|
+
5,
|
|
11558
|
+
126,
|
|
11559
|
+
239,
|
|
11560
|
+
157,
|
|
11561
|
+
12,
|
|
11562
|
+
121,
|
|
11563
|
+
232,
|
|
11564
|
+
154,
|
|
11565
|
+
11,
|
|
11566
|
+
108,
|
|
11567
|
+
253,
|
|
11568
|
+
143,
|
|
11569
|
+
30,
|
|
11570
|
+
107,
|
|
11571
|
+
250,
|
|
11572
|
+
136,
|
|
11573
|
+
25,
|
|
11574
|
+
98,
|
|
11575
|
+
243,
|
|
11576
|
+
129,
|
|
11577
|
+
16,
|
|
11578
|
+
101,
|
|
11579
|
+
244,
|
|
11580
|
+
134,
|
|
11581
|
+
23,
|
|
11582
|
+
72,
|
|
11583
|
+
217,
|
|
11584
|
+
171,
|
|
11585
|
+
58,
|
|
11586
|
+
79,
|
|
11587
|
+
222,
|
|
11588
|
+
172,
|
|
11589
|
+
61,
|
|
11590
|
+
70,
|
|
11591
|
+
215,
|
|
11592
|
+
165,
|
|
11593
|
+
52,
|
|
11594
|
+
65,
|
|
11595
|
+
208,
|
|
11596
|
+
162,
|
|
11597
|
+
51,
|
|
11598
|
+
84,
|
|
11599
|
+
197,
|
|
11600
|
+
183,
|
|
11601
|
+
38,
|
|
11602
|
+
83,
|
|
11603
|
+
194,
|
|
11604
|
+
176,
|
|
11605
|
+
33,
|
|
11606
|
+
90,
|
|
11607
|
+
203,
|
|
11608
|
+
185,
|
|
11609
|
+
40,
|
|
11610
|
+
93,
|
|
11611
|
+
204,
|
|
11612
|
+
190,
|
|
11613
|
+
47,
|
|
11614
|
+
224,
|
|
11615
|
+
113,
|
|
11616
|
+
3,
|
|
11617
|
+
146,
|
|
11618
|
+
231,
|
|
11619
|
+
118,
|
|
11620
|
+
4,
|
|
11621
|
+
149,
|
|
11622
|
+
238,
|
|
11623
|
+
127,
|
|
11624
|
+
13,
|
|
11625
|
+
156,
|
|
11626
|
+
233,
|
|
11627
|
+
120,
|
|
11628
|
+
10,
|
|
11629
|
+
155,
|
|
11630
|
+
252,
|
|
11631
|
+
109,
|
|
11632
|
+
31,
|
|
11633
|
+
142,
|
|
11634
|
+
251,
|
|
11635
|
+
106,
|
|
11636
|
+
24,
|
|
11637
|
+
137,
|
|
11638
|
+
242,
|
|
11639
|
+
99,
|
|
11640
|
+
17,
|
|
11641
|
+
128,
|
|
11642
|
+
245,
|
|
11643
|
+
100,
|
|
11644
|
+
22,
|
|
11645
|
+
135,
|
|
11646
|
+
216,
|
|
11647
|
+
73,
|
|
11648
|
+
59,
|
|
11649
|
+
170,
|
|
11650
|
+
223,
|
|
11651
|
+
78,
|
|
11652
|
+
60,
|
|
11653
|
+
173,
|
|
11654
|
+
214,
|
|
11655
|
+
71,
|
|
11656
|
+
53,
|
|
11657
|
+
164,
|
|
11658
|
+
209,
|
|
11659
|
+
64,
|
|
11660
|
+
50,
|
|
11661
|
+
163,
|
|
11662
|
+
196,
|
|
11663
|
+
85,
|
|
11664
|
+
39,
|
|
11665
|
+
182,
|
|
11666
|
+
195,
|
|
11667
|
+
82,
|
|
11668
|
+
32,
|
|
11669
|
+
177,
|
|
11670
|
+
202,
|
|
11671
|
+
91,
|
|
11672
|
+
41,
|
|
11673
|
+
184,
|
|
11674
|
+
205,
|
|
11675
|
+
92,
|
|
11676
|
+
46,
|
|
11677
|
+
191,
|
|
11678
|
+
144,
|
|
11679
|
+
1,
|
|
11680
|
+
115,
|
|
11681
|
+
226,
|
|
11682
|
+
151,
|
|
11683
|
+
6,
|
|
11684
|
+
116,
|
|
11685
|
+
229,
|
|
11686
|
+
158,
|
|
11687
|
+
15,
|
|
11688
|
+
125,
|
|
11689
|
+
236,
|
|
11690
|
+
153,
|
|
11691
|
+
8,
|
|
11692
|
+
122,
|
|
11693
|
+
235,
|
|
11694
|
+
140,
|
|
11695
|
+
29,
|
|
11696
|
+
111,
|
|
11697
|
+
254,
|
|
11698
|
+
139,
|
|
11699
|
+
26,
|
|
11700
|
+
104,
|
|
11701
|
+
249,
|
|
11702
|
+
130,
|
|
11703
|
+
19,
|
|
11704
|
+
97,
|
|
11705
|
+
240,
|
|
11706
|
+
133,
|
|
11707
|
+
20,
|
|
11708
|
+
102,
|
|
11709
|
+
247,
|
|
11710
|
+
168,
|
|
11711
|
+
57,
|
|
11712
|
+
75,
|
|
11713
|
+
218,
|
|
11714
|
+
175,
|
|
11715
|
+
62,
|
|
11716
|
+
76,
|
|
11717
|
+
221,
|
|
11718
|
+
166,
|
|
11719
|
+
55,
|
|
11720
|
+
69,
|
|
11721
|
+
212,
|
|
11722
|
+
161,
|
|
11723
|
+
48,
|
|
11724
|
+
66,
|
|
11725
|
+
211,
|
|
11726
|
+
180,
|
|
11727
|
+
37,
|
|
11728
|
+
86,
|
|
11729
|
+
199,
|
|
11730
|
+
179,
|
|
11731
|
+
34,
|
|
11732
|
+
80,
|
|
11733
|
+
193,
|
|
11734
|
+
186,
|
|
11735
|
+
43,
|
|
11736
|
+
89,
|
|
11737
|
+
200,
|
|
11738
|
+
189,
|
|
11739
|
+
44,
|
|
11740
|
+
94,
|
|
11741
|
+
207
|
|
11742
|
+
];
|
|
11743
|
+
function crc8(data) {
|
|
11744
|
+
let crc = 0;
|
|
11745
|
+
for (let i = 0; i < data.length; i++) {
|
|
11746
|
+
crc = crc_table[(crc ^ data[i]) & 255];
|
|
11747
|
+
}
|
|
11748
|
+
return crc;
|
|
11749
|
+
}
|
|
11485
11750
|
var EntityEffects = /* @__PURE__ */ ((EntityEffects2) => {
|
|
11486
11751
|
EntityEffects2[EntityEffects2["Rotate"] = 4] = "Rotate";
|
|
11487
11752
|
EntityEffects2[EntityEffects2["Gib"] = 8] = "Gib";
|
|
@@ -16273,6 +16538,9 @@ var MultiplayerConnection = class {
|
|
|
16273
16538
|
// Ping calculation
|
|
16274
16539
|
this.lastPingTime = 0;
|
|
16275
16540
|
this.currentPing = 0;
|
|
16541
|
+
// Frame CRC
|
|
16542
|
+
this.frameCRCs = /* @__PURE__ */ new Map();
|
|
16543
|
+
this.currentPacketCRC = 0;
|
|
16276
16544
|
this.driver = new BrowserWebSocketNetDriver();
|
|
16277
16545
|
this.options = options;
|
|
16278
16546
|
this.netchan = options.netchan ?? new NetChan();
|
|
@@ -16333,6 +16601,7 @@ var MultiplayerConnection = class {
|
|
|
16333
16601
|
this.commandHistory = [];
|
|
16334
16602
|
this.latestServerFrame = 0;
|
|
16335
16603
|
this.parser = null;
|
|
16604
|
+
this.frameCRCs.clear();
|
|
16336
16605
|
}
|
|
16337
16606
|
setState(newState) {
|
|
16338
16607
|
if (this.state !== newState) {
|
|
@@ -16360,7 +16629,8 @@ var MultiplayerConnection = class {
|
|
|
16360
16629
|
}
|
|
16361
16630
|
const writer = new BinaryWriter2();
|
|
16362
16631
|
writer.writeByte(ClientCommand.move);
|
|
16363
|
-
|
|
16632
|
+
const checksum = this.frameCRCs.get(this.latestServerFrame) || 0;
|
|
16633
|
+
writer.writeByte(checksum);
|
|
16364
16634
|
writer.writeLong(this.latestServerFrame);
|
|
16365
16635
|
writeUserCommand(writer, commandWithFrame);
|
|
16366
16636
|
const packet = this.netchan.transmit(writer.getData());
|
|
@@ -16381,6 +16651,7 @@ var MultiplayerConnection = class {
|
|
|
16381
16651
|
if (this.demoRecorder && this.demoRecorder.getIsRecording()) {
|
|
16382
16652
|
this.demoRecorder.recordMessage(processedData);
|
|
16383
16653
|
}
|
|
16654
|
+
this.currentPacketCRC = crc8(processedData);
|
|
16384
16655
|
const stream = new BinaryStream2(processedData.buffer);
|
|
16385
16656
|
this.parser = new NetworkMessageParser(stream, this);
|
|
16386
16657
|
this.parser.parseMessage();
|
|
@@ -16464,6 +16735,7 @@ var MultiplayerConnection = class {
|
|
|
16464
16735
|
if (frame.serverFrame > this.latestServerFrame) {
|
|
16465
16736
|
this.latestServerFrame = frame.serverFrame;
|
|
16466
16737
|
}
|
|
16738
|
+
this.frameCRCs.set(frame.serverFrame, this.currentPacketCRC);
|
|
16467
16739
|
const packetEntities = frame.packetEntities;
|
|
16468
16740
|
if (!packetEntities.delta) {
|
|
16469
16741
|
this.entities.clear();
|
|
@@ -18639,6 +18911,53 @@ function createClient(imports) {
|
|
|
18639
18911
|
},
|
|
18640
18912
|
description: "Music volume"
|
|
18641
18913
|
});
|
|
18914
|
+
imports.host.cvars.register({
|
|
18915
|
+
name: "vid_gamma",
|
|
18916
|
+
defaultValue: "1.0",
|
|
18917
|
+
flags: CvarFlags2.Archive,
|
|
18918
|
+
onChange: (cvar) => {
|
|
18919
|
+
const val = cvar.number;
|
|
18920
|
+
if (!isNaN(val) && imports.engine.renderer) {
|
|
18921
|
+
imports.engine.renderer.setGamma(val);
|
|
18922
|
+
}
|
|
18923
|
+
},
|
|
18924
|
+
description: "Gamma correction"
|
|
18925
|
+
});
|
|
18926
|
+
imports.host.cvars.register({
|
|
18927
|
+
name: "r_brightness",
|
|
18928
|
+
defaultValue: "1.0",
|
|
18929
|
+
flags: CvarFlags2.Archive,
|
|
18930
|
+
onChange: (cvar) => {
|
|
18931
|
+
const val = cvar.number;
|
|
18932
|
+
if (!isNaN(val) && imports.engine.renderer) {
|
|
18933
|
+
imports.engine.renderer.setBrightness(val);
|
|
18934
|
+
}
|
|
18935
|
+
},
|
|
18936
|
+
description: "Brightness control"
|
|
18937
|
+
});
|
|
18938
|
+
imports.host.cvars.register({
|
|
18939
|
+
name: "r_bloom",
|
|
18940
|
+
defaultValue: "0",
|
|
18941
|
+
flags: CvarFlags2.Archive,
|
|
18942
|
+
onChange: (cvar) => {
|
|
18943
|
+
if (imports.engine.renderer) {
|
|
18944
|
+
imports.engine.renderer.setBloom(cvar.number !== 0);
|
|
18945
|
+
}
|
|
18946
|
+
},
|
|
18947
|
+
description: "Enable bloom effect"
|
|
18948
|
+
});
|
|
18949
|
+
imports.host.cvars.register({
|
|
18950
|
+
name: "r_bloom_intensity",
|
|
18951
|
+
defaultValue: "0.5",
|
|
18952
|
+
flags: CvarFlags2.Archive,
|
|
18953
|
+
onChange: (cvar) => {
|
|
18954
|
+
const val = cvar.number;
|
|
18955
|
+
if (!isNaN(val) && imports.engine.renderer) {
|
|
18956
|
+
imports.engine.renderer.setBloomIntensity(val);
|
|
18957
|
+
}
|
|
18958
|
+
},
|
|
18959
|
+
description: "Bloom intensity"
|
|
18960
|
+
});
|
|
18642
18961
|
const initialFov = imports.host.cvars.get("fov");
|
|
18643
18962
|
if (initialFov) {
|
|
18644
18963
|
const f = initialFov.number;
|
|
@@ -18677,6 +18996,24 @@ function createClient(imports) {
|
|
|
18677
18996
|
loadingScreen.finish();
|
|
18678
18997
|
});
|
|
18679
18998
|
}
|
|
18999
|
+
if (imports.engine.renderer && imports.host?.cvars) {
|
|
19000
|
+
const gamma = imports.host.cvars.get("vid_gamma");
|
|
19001
|
+
if (gamma && !isNaN(gamma.number)) {
|
|
19002
|
+
imports.engine.renderer.setGamma(gamma.number);
|
|
19003
|
+
}
|
|
19004
|
+
const brightness = imports.host.cvars.get("r_brightness");
|
|
19005
|
+
if (brightness && !isNaN(brightness.number)) {
|
|
19006
|
+
imports.engine.renderer.setBrightness(brightness.number);
|
|
19007
|
+
}
|
|
19008
|
+
const bloom = imports.host.cvars.get("r_bloom");
|
|
19009
|
+
if (bloom) {
|
|
19010
|
+
imports.engine.renderer.setBloom(bloom.number !== 0);
|
|
19011
|
+
}
|
|
19012
|
+
const bloomIntensity = imports.host.cvars.get("r_bloom_intensity");
|
|
19013
|
+
if (bloomIntensity && !isNaN(bloomIntensity.number)) {
|
|
19014
|
+
imports.engine.renderer.setBloomIntensity(bloomIntensity.number);
|
|
19015
|
+
}
|
|
19016
|
+
}
|
|
18680
19017
|
void imports.engine.trace({ x: 0, y: 0, z: 0 }, { x: 1, y: 0, z: 0 });
|
|
18681
19018
|
if (typeof document !== "undefined") {
|
|
18682
19019
|
document.addEventListener("fullscreenchange", () => {
|
|
@@ -18995,13 +19332,18 @@ function createClient(imports) {
|
|
|
18995
19332
|
}
|
|
18996
19333
|
const cameraContents = pointContents({ x: camera.position[0], y: camera.position[1], z: camera.position[2] });
|
|
18997
19334
|
let waterTint;
|
|
19335
|
+
let underwaterWarp = false;
|
|
18998
19336
|
if ((cameraContents & CONTENTS_WATER2) !== 0) {
|
|
18999
19337
|
waterTint = [0.5, 0.5, 0.6, 0.6];
|
|
19338
|
+
underwaterWarp = true;
|
|
19000
19339
|
} else if ((cameraContents & CONTENTS_SLIME2) !== 0) {
|
|
19001
19340
|
waterTint = [0, 0.1, 0.05, 0.6];
|
|
19341
|
+
underwaterWarp = true;
|
|
19002
19342
|
} else if ((cameraContents & CONTENTS_LAVA2) !== 0) {
|
|
19003
19343
|
waterTint = [1, 0.3, 0, 0.6];
|
|
19344
|
+
underwaterWarp = true;
|
|
19004
19345
|
}
|
|
19346
|
+
imports.engine.renderer.setUnderwaterWarp(underwaterWarp);
|
|
19005
19347
|
imports.engine.renderer.renderFrame({
|
|
19006
19348
|
camera,
|
|
19007
19349
|
world,
|