quake2ts 0.0.202 → 0.0.204

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.
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"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"}
@@ -25,5 +25,6 @@ export interface GameImports {
25
25
  areaEdicts(mins: Vec3, maxs: Vec3): number[] | null;
26
26
  multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
27
27
  unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
28
+ configstring(index: number, value: string): void;
28
29
  }
29
30
  //# sourceMappingURL=imports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,WAAW,EAAE,MAAM,KAChB,eAAe,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC;AAE5D,oBAAY,aAAa;IACvB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;CACR;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IAErB,aAAa,EAAE,qBAAqB,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpD,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CACrF"}
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,WAAW,EAAE,MAAM,KAChB,eAAe,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC;AAE5D,oBAAY,aAAa;IACvB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;CACR;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IAErB,aAAa,EAAE,qBAAqB,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpD,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEpF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
@@ -22,6 +22,7 @@ export interface GameEngine {
22
22
  modelIndex?(model: string): number;
23
23
  multicast?(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
24
24
  unicast?(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
25
+ configstring?(index: number, value: string): void;
25
26
  }
26
27
  export interface GameStateSnapshot {
27
28
  readonly gravity: Vec3;
@@ -66,6 +67,7 @@ export interface GameExports extends GameSimulation<GameStateSnapshot> {
66
67
  trace(start: Vec3, mins: Vec3 | null, maxs: Vec3 | null, end: Vec3, passent: Entity | null, contentmask: number): GameTraceResult;
67
68
  multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
68
69
  unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
70
+ configstring(index: number, value: string): void;
69
71
  createSave(mapName: string, difficulty: number, playtimeSeconds: number): GameSaveFile;
70
72
  loadSave(save: GameSaveFile): void;
71
73
  clientBegin(client: PlayerClient): Entity;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -445,6 +445,110 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
445
445
  if (bits & U_SOLID) writer.writeShort(to.solid);
446
446
  }
447
447
 
448
+ // src/protocol/player.ts
449
+ var PS_M_TYPE = 1 << 0;
450
+ var PS_M_ORIGIN = 1 << 1;
451
+ var PS_M_VELOCITY = 1 << 2;
452
+ var PS_M_TIME = 1 << 3;
453
+ var PS_M_FLAGS = 1 << 4;
454
+ var PS_M_GRAVITY = 1 << 5;
455
+ var PS_M_DELTA_ANGLES = 1 << 6;
456
+ var PS_VIEWOFFSET = 1 << 7;
457
+ var PS_VIEWANGLES = 1 << 8;
458
+ var PS_KICKANGLES = 1 << 9;
459
+ var PS_BLEND = 1 << 10;
460
+ var PS_FOV = 1 << 11;
461
+ var PS_WEAPONINDEX = 1 << 12;
462
+ var PS_WEAPONFRAME = 1 << 13;
463
+ var PS_RDFLAGS = 1 << 14;
464
+ function writePlayerState(writer, ps) {
465
+ let mask = 0;
466
+ if (ps.pm_type !== 0) mask |= PS_M_TYPE;
467
+ if (ps.origin.x !== 0 || ps.origin.y !== 0 || ps.origin.z !== 0) mask |= PS_M_ORIGIN;
468
+ if (ps.velocity.x !== 0 || ps.velocity.y !== 0 || ps.velocity.z !== 0) mask |= PS_M_VELOCITY;
469
+ if (ps.pm_time !== 0) mask |= PS_M_TIME;
470
+ if (ps.pm_flags !== 0) mask |= PS_M_FLAGS;
471
+ if (ps.gravity !== 0) mask |= PS_M_GRAVITY;
472
+ if (ps.delta_angles.x !== 0 || ps.delta_angles.y !== 0 || ps.delta_angles.z !== 0) mask |= PS_M_DELTA_ANGLES;
473
+ if (ps.viewoffset.x !== 0 || ps.viewoffset.y !== 0 || ps.viewoffset.z !== 0) mask |= PS_VIEWOFFSET;
474
+ if (ps.viewangles.x !== 0 || ps.viewangles.y !== 0 || ps.viewangles.z !== 0) mask |= PS_VIEWANGLES;
475
+ if (ps.kick_angles.x !== 0 || ps.kick_angles.y !== 0 || ps.kick_angles.z !== 0) mask |= PS_KICKANGLES;
476
+ if (ps.gun_index !== 0) mask |= PS_WEAPONINDEX;
477
+ if (ps.gun_frame !== 0 || ps.gun_offset.x !== 0 || ps.gun_offset.y !== 0 || ps.gun_offset.z !== 0 || ps.gun_angles.x !== 0 || ps.gun_angles.y !== 0 || ps.gun_angles.z !== 0) {
478
+ mask |= PS_WEAPONFRAME;
479
+ }
480
+ if (ps.blend && (ps.blend[0] !== 0 || ps.blend[1] !== 0 || ps.blend[2] !== 0 || ps.blend[3] !== 0)) {
481
+ mask |= PS_BLEND;
482
+ }
483
+ if (ps.fov !== 0) mask |= PS_FOV;
484
+ if (ps.rdflags !== 0) mask |= PS_RDFLAGS;
485
+ let statsMask = 0;
486
+ for (let i = 0; i < 32; i++) {
487
+ if (ps.stats[i] && ps.stats[i] !== 0) {
488
+ statsMask |= 1 << i;
489
+ }
490
+ }
491
+ writer.writeShort(mask);
492
+ if (mask & PS_M_TYPE) writer.writeByte(ps.pm_type);
493
+ if (mask & PS_M_ORIGIN) {
494
+ writer.writeShort(Math.round(ps.origin.x * 8));
495
+ writer.writeShort(Math.round(ps.origin.y * 8));
496
+ writer.writeShort(Math.round(ps.origin.z * 8));
497
+ }
498
+ if (mask & PS_M_VELOCITY) {
499
+ writer.writeShort(Math.round(ps.velocity.x * 8));
500
+ writer.writeShort(Math.round(ps.velocity.y * 8));
501
+ writer.writeShort(Math.round(ps.velocity.z * 8));
502
+ }
503
+ if (mask & PS_M_TIME) writer.writeByte(ps.pm_time);
504
+ if (mask & PS_M_FLAGS) writer.writeByte(ps.pm_flags);
505
+ if (mask & PS_M_GRAVITY) writer.writeShort(ps.gravity);
506
+ if (mask & PS_M_DELTA_ANGLES) {
507
+ writer.writeShort(Math.round(ps.delta_angles.x * (32768 / 180)));
508
+ writer.writeShort(Math.round(ps.delta_angles.y * (32768 / 180)));
509
+ writer.writeShort(Math.round(ps.delta_angles.z * (32768 / 180)));
510
+ }
511
+ if (mask & PS_VIEWOFFSET) {
512
+ writer.writeChar(Math.round(ps.viewoffset.x * 4));
513
+ writer.writeChar(Math.round(ps.viewoffset.y * 4));
514
+ writer.writeChar(Math.round(ps.viewoffset.z * 4));
515
+ }
516
+ if (mask & PS_VIEWANGLES) {
517
+ writer.writeAngle16(ps.viewangles.x);
518
+ writer.writeAngle16(ps.viewangles.y);
519
+ writer.writeAngle16(ps.viewangles.z);
520
+ }
521
+ if (mask & PS_KICKANGLES) {
522
+ writer.writeChar(Math.round(ps.kick_angles.x * 4));
523
+ writer.writeChar(Math.round(ps.kick_angles.y * 4));
524
+ writer.writeChar(Math.round(ps.kick_angles.z * 4));
525
+ }
526
+ if (mask & PS_WEAPONINDEX) writer.writeByte(ps.gun_index);
527
+ if (mask & PS_WEAPONFRAME) {
528
+ writer.writeByte(ps.gun_frame);
529
+ writer.writeChar(Math.round(ps.gun_offset.x * 4));
530
+ writer.writeChar(Math.round(ps.gun_offset.y * 4));
531
+ writer.writeChar(Math.round(ps.gun_offset.z * 4));
532
+ writer.writeChar(Math.round(ps.gun_angles.x * 4));
533
+ writer.writeChar(Math.round(ps.gun_angles.y * 4));
534
+ writer.writeChar(Math.round(ps.gun_angles.z * 4));
535
+ }
536
+ if (mask & PS_BLEND) {
537
+ writer.writeByte(Math.round(ps.blend[0]));
538
+ writer.writeByte(Math.round(ps.blend[1]));
539
+ writer.writeByte(Math.round(ps.blend[2]));
540
+ writer.writeByte(Math.round(ps.blend[3]));
541
+ }
542
+ if (mask & PS_FOV) writer.writeByte(ps.fov);
543
+ if (mask & PS_RDFLAGS) writer.writeByte(ps.rdflags);
544
+ writer.writeLong(statsMask);
545
+ for (let i = 0; i < 32; i++) {
546
+ if (statsMask & 1 << i) {
547
+ writer.writeShort(ps.stats[i]);
548
+ }
549
+ }
550
+ }
551
+
448
552
  // src/dedicated.ts
449
553
  var MAX_CLIENTS = 16;
450
554
  var FRAME_RATE = 10;
@@ -576,7 +680,8 @@ var DedicatedServer = class {
576
680
  return this.entityIndex.gatherTriggerTouches({ x: 0, y: 0, z: 0 }, mins, maxs, 4294967295);
577
681
  },
578
682
  multicast: (origin, type, event, ...args) => this.multicast(origin, type, event, ...args),
579
- unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args)
683
+ unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args),
684
+ configstring: (index, value) => this.SV_SetConfigString(index, value)
580
685
  };
581
686
  this.game = (0, import_game.createGame)(imports, this, {
582
687
  gravity: { x: 0, y: 0, z: -800 },
@@ -656,8 +761,30 @@ var DedicatedServer = class {
656
761
  writer.writeString("baseq2");
657
762
  writer.writeShort(client.index);
658
763
  writer.writeString("maps/test.bsp");
764
+ for (let i = 0; i < import_shared3.MAX_CONFIGSTRINGS; i++) {
765
+ if (this.sv.configStrings[i]) {
766
+ this.SV_WriteConfigString(writer, i, this.sv.configStrings[i]);
767
+ }
768
+ }
659
769
  client.net.send(writer.getData());
660
770
  }
771
+ SV_SetConfigString(index, value) {
772
+ if (index < 0 || index >= import_shared3.MAX_CONFIGSTRINGS) return;
773
+ this.sv.configStrings[index] = value;
774
+ const writer = new import_shared3.BinaryWriter();
775
+ this.SV_WriteConfigString(writer, index, value);
776
+ const data = writer.getData();
777
+ for (const client of this.svs.clients) {
778
+ if (client && client.state >= 2 /* Connected */) {
779
+ client.net.send(data);
780
+ }
781
+ }
782
+ }
783
+ SV_WriteConfigString(writer, index, value) {
784
+ writer.writeByte(import_shared3.ServerCommand.configstring);
785
+ writer.writeShort(index);
786
+ writer.writeString(value);
787
+ }
661
788
  SV_ReadPackets() {
662
789
  for (const client of this.svs.clients) {
663
790
  if (!client || client.state === 0 /* Free */) continue;
@@ -717,8 +844,33 @@ var DedicatedServer = class {
717
844
  writer.writeByte(0);
718
845
  writer.writeByte(0);
719
846
  writer.writeByte(import_shared3.ServerCommand.playerinfo);
720
- writer.writeShort(0);
721
- writer.writeLong(0);
847
+ const ps = {
848
+ pm_type: snapshot.pmType,
849
+ origin: snapshot.origin,
850
+ velocity: snapshot.velocity,
851
+ pm_time: 0,
852
+ // Not explicitly in snapshot yet
853
+ pm_flags: snapshot.pmFlags,
854
+ gravity: Math.abs(snapshot.gravity.z),
855
+ // Usually only Z is relevant for gravity value
856
+ delta_angles: snapshot.deltaAngles,
857
+ viewoffset: { x: 0, y: 0, z: 22 },
858
+ // Default view offset if not in snapshot
859
+ viewangles: snapshot.viewangles,
860
+ kick_angles: snapshot.kick_angles,
861
+ gun_index: snapshot.gunindex,
862
+ gun_frame: 0,
863
+ // snapshot doesn't track gun frame yet?
864
+ gun_offset: snapshot.gunoffset,
865
+ gun_angles: snapshot.gunangles,
866
+ blend: snapshot.blend,
867
+ fov: 90,
868
+ // Default FOV
869
+ rdflags: 0,
870
+ // Not tracked
871
+ stats: snapshot.stats
872
+ };
873
+ writePlayerState(writer, ps);
722
874
  writer.writeByte(import_shared3.ServerCommand.packetentities);
723
875
  const entities = snapshot.packetEntities || [];
724
876
  for (const entity of entities) {
@@ -739,6 +891,9 @@ var DedicatedServer = class {
739
891
  if (client) {
740
892
  }
741
893
  }
894
+ configstring(index, value) {
895
+ this.SV_SetConfigString(index, value);
896
+ }
742
897
  };
743
898
  // Annotate the CommonJS export names for ESM import in node:
744
899
  0 && (module.exports = {
@@ -36,6 +36,8 @@ declare class DedicatedServer implements GameEngine {
36
36
  private handleStringCmd;
37
37
  private spawnClient;
38
38
  private sendServerData;
39
+ private SV_SetConfigString;
40
+ private SV_WriteConfigString;
39
41
  private SV_ReadPackets;
40
42
  private runFrame;
41
43
  private SV_SendClientMessages;
@@ -43,6 +45,7 @@ declare class DedicatedServer implements GameEngine {
43
45
  trace(start: any, end: any): any;
44
46
  multicast(origin: any, type: MulticastType, event: ServerCommand, ...args: any[]): void;
45
47
  unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
48
+ configstring(index: number, value: string): void;
46
49
  }
47
50
 
48
51
  declare enum ClientState {
@@ -36,6 +36,8 @@ declare class DedicatedServer implements GameEngine {
36
36
  private handleStringCmd;
37
37
  private spawnClient;
38
38
  private sendServerData;
39
+ private SV_SetConfigString;
40
+ private SV_WriteConfigString;
39
41
  private SV_ReadPackets;
40
42
  private runFrame;
41
43
  private SV_SendClientMessages;
@@ -43,6 +45,7 @@ declare class DedicatedServer implements GameEngine {
43
45
  trace(start: any, end: any): any;
44
46
  multicast(origin: any, type: MulticastType, event: ServerCommand, ...args: any[]): void;
45
47
  unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
48
+ configstring(index: number, value: string): void;
46
49
  }
47
50
 
48
51
  declare enum ClientState {
@@ -405,6 +405,110 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
405
405
  if (bits & U_SOLID) writer.writeShort(to.solid);
406
406
  }
407
407
 
408
+ // src/protocol/player.ts
409
+ var PS_M_TYPE = 1 << 0;
410
+ var PS_M_ORIGIN = 1 << 1;
411
+ var PS_M_VELOCITY = 1 << 2;
412
+ var PS_M_TIME = 1 << 3;
413
+ var PS_M_FLAGS = 1 << 4;
414
+ var PS_M_GRAVITY = 1 << 5;
415
+ var PS_M_DELTA_ANGLES = 1 << 6;
416
+ var PS_VIEWOFFSET = 1 << 7;
417
+ var PS_VIEWANGLES = 1 << 8;
418
+ var PS_KICKANGLES = 1 << 9;
419
+ var PS_BLEND = 1 << 10;
420
+ var PS_FOV = 1 << 11;
421
+ var PS_WEAPONINDEX = 1 << 12;
422
+ var PS_WEAPONFRAME = 1 << 13;
423
+ var PS_RDFLAGS = 1 << 14;
424
+ function writePlayerState(writer, ps) {
425
+ let mask = 0;
426
+ if (ps.pm_type !== 0) mask |= PS_M_TYPE;
427
+ if (ps.origin.x !== 0 || ps.origin.y !== 0 || ps.origin.z !== 0) mask |= PS_M_ORIGIN;
428
+ if (ps.velocity.x !== 0 || ps.velocity.y !== 0 || ps.velocity.z !== 0) mask |= PS_M_VELOCITY;
429
+ if (ps.pm_time !== 0) mask |= PS_M_TIME;
430
+ if (ps.pm_flags !== 0) mask |= PS_M_FLAGS;
431
+ if (ps.gravity !== 0) mask |= PS_M_GRAVITY;
432
+ if (ps.delta_angles.x !== 0 || ps.delta_angles.y !== 0 || ps.delta_angles.z !== 0) mask |= PS_M_DELTA_ANGLES;
433
+ if (ps.viewoffset.x !== 0 || ps.viewoffset.y !== 0 || ps.viewoffset.z !== 0) mask |= PS_VIEWOFFSET;
434
+ if (ps.viewangles.x !== 0 || ps.viewangles.y !== 0 || ps.viewangles.z !== 0) mask |= PS_VIEWANGLES;
435
+ if (ps.kick_angles.x !== 0 || ps.kick_angles.y !== 0 || ps.kick_angles.z !== 0) mask |= PS_KICKANGLES;
436
+ if (ps.gun_index !== 0) mask |= PS_WEAPONINDEX;
437
+ if (ps.gun_frame !== 0 || ps.gun_offset.x !== 0 || ps.gun_offset.y !== 0 || ps.gun_offset.z !== 0 || ps.gun_angles.x !== 0 || ps.gun_angles.y !== 0 || ps.gun_angles.z !== 0) {
438
+ mask |= PS_WEAPONFRAME;
439
+ }
440
+ if (ps.blend && (ps.blend[0] !== 0 || ps.blend[1] !== 0 || ps.blend[2] !== 0 || ps.blend[3] !== 0)) {
441
+ mask |= PS_BLEND;
442
+ }
443
+ if (ps.fov !== 0) mask |= PS_FOV;
444
+ if (ps.rdflags !== 0) mask |= PS_RDFLAGS;
445
+ let statsMask = 0;
446
+ for (let i = 0; i < 32; i++) {
447
+ if (ps.stats[i] && ps.stats[i] !== 0) {
448
+ statsMask |= 1 << i;
449
+ }
450
+ }
451
+ writer.writeShort(mask);
452
+ if (mask & PS_M_TYPE) writer.writeByte(ps.pm_type);
453
+ if (mask & PS_M_ORIGIN) {
454
+ writer.writeShort(Math.round(ps.origin.x * 8));
455
+ writer.writeShort(Math.round(ps.origin.y * 8));
456
+ writer.writeShort(Math.round(ps.origin.z * 8));
457
+ }
458
+ if (mask & PS_M_VELOCITY) {
459
+ writer.writeShort(Math.round(ps.velocity.x * 8));
460
+ writer.writeShort(Math.round(ps.velocity.y * 8));
461
+ writer.writeShort(Math.round(ps.velocity.z * 8));
462
+ }
463
+ if (mask & PS_M_TIME) writer.writeByte(ps.pm_time);
464
+ if (mask & PS_M_FLAGS) writer.writeByte(ps.pm_flags);
465
+ if (mask & PS_M_GRAVITY) writer.writeShort(ps.gravity);
466
+ if (mask & PS_M_DELTA_ANGLES) {
467
+ writer.writeShort(Math.round(ps.delta_angles.x * (32768 / 180)));
468
+ writer.writeShort(Math.round(ps.delta_angles.y * (32768 / 180)));
469
+ writer.writeShort(Math.round(ps.delta_angles.z * (32768 / 180)));
470
+ }
471
+ if (mask & PS_VIEWOFFSET) {
472
+ writer.writeChar(Math.round(ps.viewoffset.x * 4));
473
+ writer.writeChar(Math.round(ps.viewoffset.y * 4));
474
+ writer.writeChar(Math.round(ps.viewoffset.z * 4));
475
+ }
476
+ if (mask & PS_VIEWANGLES) {
477
+ writer.writeAngle16(ps.viewangles.x);
478
+ writer.writeAngle16(ps.viewangles.y);
479
+ writer.writeAngle16(ps.viewangles.z);
480
+ }
481
+ if (mask & PS_KICKANGLES) {
482
+ writer.writeChar(Math.round(ps.kick_angles.x * 4));
483
+ writer.writeChar(Math.round(ps.kick_angles.y * 4));
484
+ writer.writeChar(Math.round(ps.kick_angles.z * 4));
485
+ }
486
+ if (mask & PS_WEAPONINDEX) writer.writeByte(ps.gun_index);
487
+ if (mask & PS_WEAPONFRAME) {
488
+ writer.writeByte(ps.gun_frame);
489
+ writer.writeChar(Math.round(ps.gun_offset.x * 4));
490
+ writer.writeChar(Math.round(ps.gun_offset.y * 4));
491
+ writer.writeChar(Math.round(ps.gun_offset.z * 4));
492
+ writer.writeChar(Math.round(ps.gun_angles.x * 4));
493
+ writer.writeChar(Math.round(ps.gun_angles.y * 4));
494
+ writer.writeChar(Math.round(ps.gun_angles.z * 4));
495
+ }
496
+ if (mask & PS_BLEND) {
497
+ writer.writeByte(Math.round(ps.blend[0]));
498
+ writer.writeByte(Math.round(ps.blend[1]));
499
+ writer.writeByte(Math.round(ps.blend[2]));
500
+ writer.writeByte(Math.round(ps.blend[3]));
501
+ }
502
+ if (mask & PS_FOV) writer.writeByte(ps.fov);
503
+ if (mask & PS_RDFLAGS) writer.writeByte(ps.rdflags);
504
+ writer.writeLong(statsMask);
505
+ for (let i = 0; i < 32; i++) {
506
+ if (statsMask & 1 << i) {
507
+ writer.writeShort(ps.stats[i]);
508
+ }
509
+ }
510
+ }
511
+
408
512
  // src/dedicated.ts
409
513
  var MAX_CLIENTS = 16;
410
514
  var FRAME_RATE = 10;
@@ -536,7 +640,8 @@ var DedicatedServer = class {
536
640
  return this.entityIndex.gatherTriggerTouches({ x: 0, y: 0, z: 0 }, mins, maxs, 4294967295);
537
641
  },
538
642
  multicast: (origin, type, event, ...args) => this.multicast(origin, type, event, ...args),
539
- unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args)
643
+ unicast: (ent, reliable, event, ...args) => this.unicast(ent, reliable, event, ...args),
644
+ configstring: (index, value) => this.SV_SetConfigString(index, value)
540
645
  };
541
646
  this.game = createGame(imports, this, {
542
647
  gravity: { x: 0, y: 0, z: -800 },
@@ -616,8 +721,30 @@ var DedicatedServer = class {
616
721
  writer.writeString("baseq2");
617
722
  writer.writeShort(client.index);
618
723
  writer.writeString("maps/test.bsp");
724
+ for (let i = 0; i < MAX_CONFIGSTRINGS2; i++) {
725
+ if (this.sv.configStrings[i]) {
726
+ this.SV_WriteConfigString(writer, i, this.sv.configStrings[i]);
727
+ }
728
+ }
619
729
  client.net.send(writer.getData());
620
730
  }
731
+ SV_SetConfigString(index, value) {
732
+ if (index < 0 || index >= MAX_CONFIGSTRINGS2) return;
733
+ this.sv.configStrings[index] = value;
734
+ const writer = new BinaryWriter();
735
+ this.SV_WriteConfigString(writer, index, value);
736
+ const data = writer.getData();
737
+ for (const client of this.svs.clients) {
738
+ if (client && client.state >= 2 /* Connected */) {
739
+ client.net.send(data);
740
+ }
741
+ }
742
+ }
743
+ SV_WriteConfigString(writer, index, value) {
744
+ writer.writeByte(ServerCommand.configstring);
745
+ writer.writeShort(index);
746
+ writer.writeString(value);
747
+ }
621
748
  SV_ReadPackets() {
622
749
  for (const client of this.svs.clients) {
623
750
  if (!client || client.state === 0 /* Free */) continue;
@@ -677,8 +804,33 @@ var DedicatedServer = class {
677
804
  writer.writeByte(0);
678
805
  writer.writeByte(0);
679
806
  writer.writeByte(ServerCommand.playerinfo);
680
- writer.writeShort(0);
681
- writer.writeLong(0);
807
+ const ps = {
808
+ pm_type: snapshot.pmType,
809
+ origin: snapshot.origin,
810
+ velocity: snapshot.velocity,
811
+ pm_time: 0,
812
+ // Not explicitly in snapshot yet
813
+ pm_flags: snapshot.pmFlags,
814
+ gravity: Math.abs(snapshot.gravity.z),
815
+ // Usually only Z is relevant for gravity value
816
+ delta_angles: snapshot.deltaAngles,
817
+ viewoffset: { x: 0, y: 0, z: 22 },
818
+ // Default view offset if not in snapshot
819
+ viewangles: snapshot.viewangles,
820
+ kick_angles: snapshot.kick_angles,
821
+ gun_index: snapshot.gunindex,
822
+ gun_frame: 0,
823
+ // snapshot doesn't track gun frame yet?
824
+ gun_offset: snapshot.gunoffset,
825
+ gun_angles: snapshot.gunangles,
826
+ blend: snapshot.blend,
827
+ fov: 90,
828
+ // Default FOV
829
+ rdflags: 0,
830
+ // Not tracked
831
+ stats: snapshot.stats
832
+ };
833
+ writePlayerState(writer, ps);
682
834
  writer.writeByte(ServerCommand.packetentities);
683
835
  const entities = snapshot.packetEntities || [];
684
836
  for (const entity of entities) {
@@ -699,6 +851,9 @@ var DedicatedServer = class {
699
851
  if (client) {
700
852
  }
701
853
  }
854
+ configstring(index, value) {
855
+ this.SV_SetConfigString(index, value);
856
+ }
702
857
  };
703
858
  export {
704
859
  ClientMessageParser,