quake2ts 0.0.74 → 0.0.76

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.
Files changed (51) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +1 -1
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs.map +1 -1
  5. package/packages/client/dist/esm/index.js.map +1 -1
  6. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  7. package/packages/engine/dist/browser/index.global.js +10 -10
  8. package/packages/engine/dist/browser/index.global.js.map +1 -1
  9. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  10. package/packages/engine/dist/esm/index.js.map +1 -1
  11. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  12. package/packages/engine/dist/types/demo/parser.d.ts +45 -0
  13. package/packages/engine/dist/types/demo/parser.d.ts.map +1 -0
  14. package/packages/engine/dist/types/demo/playback.d.ts +22 -0
  15. package/packages/engine/dist/types/demo/playback.d.ts.map +1 -0
  16. package/packages/engine/dist/types/demo/reader.d.ts +15 -0
  17. package/packages/engine/dist/types/demo/reader.d.ts.map +1 -0
  18. package/packages/game/dist/browser/index.global.js +1 -1
  19. package/packages/game/dist/browser/index.global.js.map +1 -1
  20. package/packages/game/dist/cjs/index.cjs +751 -602
  21. package/packages/game/dist/cjs/index.cjs.map +1 -1
  22. package/packages/game/dist/esm/index.js +749 -602
  23. package/packages/game/dist/esm/index.js.map +1 -1
  24. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  25. package/packages/game/dist/types/ai/index.d.ts +1 -0
  26. package/packages/game/dist/types/ai/index.d.ts.map +1 -1
  27. package/packages/game/dist/types/ai/monster.d.ts +4 -0
  28. package/packages/game/dist/types/ai/monster.d.ts.map +1 -0
  29. package/packages/game/dist/types/entities/entity.d.ts +21 -0
  30. package/packages/game/dist/types/entities/entity.d.ts.map +1 -1
  31. package/packages/game/dist/types/entities/monsters/soldier.d.ts +3 -0
  32. package/packages/game/dist/types/entities/monsters/soldier.d.ts.map +1 -0
  33. package/packages/game/dist/types/entities/spawn.d.ts.map +1 -1
  34. package/packages/shared/dist/browser/index.global.js +1 -1
  35. package/packages/shared/dist/browser/index.global.js.map +1 -1
  36. package/packages/shared/dist/cjs/index.cjs +209 -0
  37. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  38. package/packages/shared/dist/esm/index.js +205 -0
  39. package/packages/shared/dist/esm/index.js.map +1 -1
  40. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  41. package/packages/shared/dist/types/index.d.ts +1 -0
  42. package/packages/shared/dist/types/index.d.ts.map +1 -1
  43. package/packages/shared/dist/types/io/binaryStream.d.ts +31 -0
  44. package/packages/shared/dist/types/io/binaryStream.d.ts.map +1 -0
  45. package/packages/shared/dist/types/protocol/index.d.ts +2 -0
  46. package/packages/shared/dist/types/protocol/index.d.ts.map +1 -1
  47. package/packages/shared/dist/types/protocol/ops.d.ts +31 -0
  48. package/packages/shared/dist/types/protocol/ops.d.ts.map +1 -0
  49. package/packages/shared/dist/types/protocol/tempEntity.d.ts +59 -0
  50. package/packages/shared/dist/types/protocol/tempEntity.d.ts.map +1 -0
  51. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ BinaryStream: () => BinaryStream,
23
24
  CGAME_EXPORT_KEYS: () => CGAME_EXPORT_KEYS,
24
25
  CGAME_IMPORT_KEYS: () => CGAME_IMPORT_KEYS,
25
26
  CONTENTS_AREAPORTAL: () => CONTENTS_AREAPORTAL,
@@ -52,6 +53,7 @@ __export(index_exports, {
52
53
  CONTENTS_WINDOW: () => CONTENTS_WINDOW,
53
54
  CS_MAX_STRING_LENGTH: () => CS_MAX_STRING_LENGTH,
54
55
  CS_MAX_STRING_LENGTH_OLD: () => CS_MAX_STRING_LENGTH_OLD,
56
+ ClientCommand: () => ClientCommand,
55
57
  CollisionEntityIndex: () => CollisionEntityIndex,
56
58
  ConfigStringIndex: () => ConfigStringIndex,
57
59
  CvarFlags: () => CvarFlags,
@@ -122,6 +124,8 @@ __export(index_exports, {
122
124
  SURF_TRANS33: () => SURF_TRANS33,
123
125
  SURF_TRANS66: () => SURF_TRANS66,
124
126
  SURF_WARP: () => SURF_WARP,
127
+ ServerCommand: () => ServerCommand,
128
+ TempEntity: () => TempEntity,
125
129
  WaterLevel: () => WaterLevel,
126
130
  YAW: () => YAW,
127
131
  ZERO_VEC3: () => ZERO_VEC3,
@@ -3302,6 +3306,101 @@ function mouseDeltaToViewDelta(delta, options) {
3302
3306
  };
3303
3307
  }
3304
3308
 
3309
+ // src/protocol/ops.ts
3310
+ var ServerCommand = /* @__PURE__ */ ((ServerCommand2) => {
3311
+ ServerCommand2[ServerCommand2["bad"] = 0] = "bad";
3312
+ ServerCommand2[ServerCommand2["muzzleflash"] = 1] = "muzzleflash";
3313
+ ServerCommand2[ServerCommand2["muzzleflash2"] = 2] = "muzzleflash2";
3314
+ ServerCommand2[ServerCommand2["temp_entity"] = 3] = "temp_entity";
3315
+ ServerCommand2[ServerCommand2["layout"] = 4] = "layout";
3316
+ ServerCommand2[ServerCommand2["inventory"] = 5] = "inventory";
3317
+ ServerCommand2[ServerCommand2["nop"] = 6] = "nop";
3318
+ ServerCommand2[ServerCommand2["disconnect"] = 7] = "disconnect";
3319
+ ServerCommand2[ServerCommand2["reconnect"] = 8] = "reconnect";
3320
+ ServerCommand2[ServerCommand2["sound"] = 9] = "sound";
3321
+ ServerCommand2[ServerCommand2["print"] = 10] = "print";
3322
+ ServerCommand2[ServerCommand2["stufftext"] = 11] = "stufftext";
3323
+ ServerCommand2[ServerCommand2["serverdata"] = 12] = "serverdata";
3324
+ ServerCommand2[ServerCommand2["configstring"] = 13] = "configstring";
3325
+ ServerCommand2[ServerCommand2["spawnbaseline"] = 14] = "spawnbaseline";
3326
+ ServerCommand2[ServerCommand2["centerprint"] = 15] = "centerprint";
3327
+ ServerCommand2[ServerCommand2["download"] = 16] = "download";
3328
+ ServerCommand2[ServerCommand2["playerinfo"] = 17] = "playerinfo";
3329
+ ServerCommand2[ServerCommand2["packetentities"] = 18] = "packetentities";
3330
+ ServerCommand2[ServerCommand2["deltapacketentities"] = 19] = "deltapacketentities";
3331
+ ServerCommand2[ServerCommand2["frame"] = 20] = "frame";
3332
+ return ServerCommand2;
3333
+ })(ServerCommand || {});
3334
+ var ClientCommand = /* @__PURE__ */ ((ClientCommand2) => {
3335
+ ClientCommand2[ClientCommand2["bad"] = 0] = "bad";
3336
+ ClientCommand2[ClientCommand2["nop"] = 1] = "nop";
3337
+ ClientCommand2[ClientCommand2["move"] = 2] = "move";
3338
+ ClientCommand2[ClientCommand2["userinfo"] = 3] = "userinfo";
3339
+ ClientCommand2[ClientCommand2["stringcmd"] = 4] = "stringcmd";
3340
+ return ClientCommand2;
3341
+ })(ClientCommand || {});
3342
+
3343
+ // src/protocol/tempEntity.ts
3344
+ var TempEntity = /* @__PURE__ */ ((TempEntity2) => {
3345
+ TempEntity2[TempEntity2["GUNSHOT"] = 0] = "GUNSHOT";
3346
+ TempEntity2[TempEntity2["BLOOD"] = 1] = "BLOOD";
3347
+ TempEntity2[TempEntity2["BLASTER"] = 2] = "BLASTER";
3348
+ TempEntity2[TempEntity2["RAILTRAIL"] = 3] = "RAILTRAIL";
3349
+ TempEntity2[TempEntity2["SHOTGUN"] = 4] = "SHOTGUN";
3350
+ TempEntity2[TempEntity2["EXPLOSION1"] = 5] = "EXPLOSION1";
3351
+ TempEntity2[TempEntity2["EXPLOSION2"] = 6] = "EXPLOSION2";
3352
+ TempEntity2[TempEntity2["ROCKET_EXPLOSION"] = 7] = "ROCKET_EXPLOSION";
3353
+ TempEntity2[TempEntity2["GRENADE_EXPLOSION"] = 8] = "GRENADE_EXPLOSION";
3354
+ TempEntity2[TempEntity2["SPARKS"] = 9] = "SPARKS";
3355
+ TempEntity2[TempEntity2["SPLASH"] = 10] = "SPLASH";
3356
+ TempEntity2[TempEntity2["BUBBLETRAIL"] = 11] = "BUBBLETRAIL";
3357
+ TempEntity2[TempEntity2["SCREEN_SPARKS"] = 12] = "SCREEN_SPARKS";
3358
+ TempEntity2[TempEntity2["SHIELD_SPARKS"] = 13] = "SHIELD_SPARKS";
3359
+ TempEntity2[TempEntity2["BULLET_SPARKS"] = 14] = "BULLET_SPARKS";
3360
+ TempEntity2[TempEntity2["LASER_SPARKS"] = 15] = "LASER_SPARKS";
3361
+ TempEntity2[TempEntity2["PARASITE_ATTACK"] = 16] = "PARASITE_ATTACK";
3362
+ TempEntity2[TempEntity2["ROCKET_EXPLOSION_WATER"] = 17] = "ROCKET_EXPLOSION_WATER";
3363
+ TempEntity2[TempEntity2["GRENADE_EXPLOSION_WATER"] = 18] = "GRENADE_EXPLOSION_WATER";
3364
+ TempEntity2[TempEntity2["MEDIC_CABLE_ATTACK"] = 19] = "MEDIC_CABLE_ATTACK";
3365
+ TempEntity2[TempEntity2["BFG_EXPLOSION"] = 20] = "BFG_EXPLOSION";
3366
+ TempEntity2[TempEntity2["BFG_BIGEXPLOSION"] = 21] = "BFG_BIGEXPLOSION";
3367
+ TempEntity2[TempEntity2["BOSSTPORT"] = 22] = "BOSSTPORT";
3368
+ TempEntity2[TempEntity2["BFG_LASER"] = 23] = "BFG_LASER";
3369
+ TempEntity2[TempEntity2["GRAPPLE_CABLE"] = 24] = "GRAPPLE_CABLE";
3370
+ TempEntity2[TempEntity2["WELDING_SPARKS"] = 25] = "WELDING_SPARKS";
3371
+ TempEntity2[TempEntity2["GREENBLOOD"] = 26] = "GREENBLOOD";
3372
+ TempEntity2[TempEntity2["BLUEHYPERBLASTER"] = 27] = "BLUEHYPERBLASTER";
3373
+ TempEntity2[TempEntity2["PLASMA_EXPLOSION"] = 28] = "PLASMA_EXPLOSION";
3374
+ TempEntity2[TempEntity2["TUNNEL_SPARKS"] = 29] = "TUNNEL_SPARKS";
3375
+ TempEntity2[TempEntity2["BLASTER2"] = 30] = "BLASTER2";
3376
+ TempEntity2[TempEntity2["RAILTRAIL2"] = 31] = "RAILTRAIL2";
3377
+ TempEntity2[TempEntity2["FLAME"] = 32] = "FLAME";
3378
+ TempEntity2[TempEntity2["LIGHTNING"] = 33] = "LIGHTNING";
3379
+ TempEntity2[TempEntity2["DEBUGTRAIL"] = 34] = "DEBUGTRAIL";
3380
+ TempEntity2[TempEntity2["PLAIN_EXPLOSION"] = 35] = "PLAIN_EXPLOSION";
3381
+ TempEntity2[TempEntity2["FLASHLIGHT"] = 36] = "FLASHLIGHT";
3382
+ TempEntity2[TempEntity2["FORCEWALL"] = 37] = "FORCEWALL";
3383
+ TempEntity2[TempEntity2["HEATBEAM"] = 38] = "HEATBEAM";
3384
+ TempEntity2[TempEntity2["MONSTER_HEATBEAM"] = 39] = "MONSTER_HEATBEAM";
3385
+ TempEntity2[TempEntity2["STEAM"] = 40] = "STEAM";
3386
+ TempEntity2[TempEntity2["BUBBLETRAIL2"] = 41] = "BUBBLETRAIL2";
3387
+ TempEntity2[TempEntity2["MOREBLOOD"] = 42] = "MOREBLOOD";
3388
+ TempEntity2[TempEntity2["HEATBEAM_SPARKS"] = 43] = "HEATBEAM_SPARKS";
3389
+ TempEntity2[TempEntity2["HEATBEAM_STEAM"] = 44] = "HEATBEAM_STEAM";
3390
+ TempEntity2[TempEntity2["CHAINFIST_SMOKE"] = 45] = "CHAINFIST_SMOKE";
3391
+ TempEntity2[TempEntity2["ELECTRIC_SPARKS"] = 46] = "ELECTRIC_SPARKS";
3392
+ TempEntity2[TempEntity2["TRACKER_EXPLOSION"] = 47] = "TRACKER_EXPLOSION";
3393
+ TempEntity2[TempEntity2["TELEPORT_EFFECT"] = 48] = "TELEPORT_EFFECT";
3394
+ TempEntity2[TempEntity2["DBALL_GOAL"] = 49] = "DBALL_GOAL";
3395
+ TempEntity2[TempEntity2["WIDOWBEAMOUT"] = 50] = "WIDOWBEAMOUT";
3396
+ TempEntity2[TempEntity2["NUKEBLAST"] = 51] = "NUKEBLAST";
3397
+ TempEntity2[TempEntity2["WIDOWSPLASH"] = 52] = "WIDOWSPLASH";
3398
+ TempEntity2[TempEntity2["EXPLOSION1_BIG"] = 53] = "EXPLOSION1_BIG";
3399
+ TempEntity2[TempEntity2["EXPLOSION1_NP"] = 54] = "EXPLOSION1_NP";
3400
+ TempEntity2[TempEntity2["FLECHETTE"] = 55] = "FLECHETTE";
3401
+ return TempEntity2;
3402
+ })(TempEntity || {});
3403
+
3305
3404
  // src/pmove/apply.ts
3306
3405
  var FRAMETIME = 0.025;
3307
3406
  var categorizePosition2 = (state, trace) => {
@@ -3367,8 +3466,115 @@ var applyPmove = (state, cmd, trace, pointContents2) => {
3367
3466
  velocity: finalVelocity
3368
3467
  };
3369
3468
  };
3469
+
3470
+ // src/io/binaryStream.ts
3471
+ var BinaryStream = class {
3472
+ constructor(buffer) {
3473
+ if (buffer instanceof Uint8Array) {
3474
+ this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
3475
+ } else {
3476
+ this.view = new DataView(buffer);
3477
+ }
3478
+ this.offset = 0;
3479
+ this.length = this.view.byteLength;
3480
+ }
3481
+ getPosition() {
3482
+ return this.offset;
3483
+ }
3484
+ seek(position) {
3485
+ if (position < 0 || position > this.length) {
3486
+ throw new Error(`Seek out of bounds: ${position} (length: ${this.length})`);
3487
+ }
3488
+ this.offset = position;
3489
+ }
3490
+ hasMore() {
3491
+ return this.offset < this.length;
3492
+ }
3493
+ readChar() {
3494
+ const value = this.view.getInt8(this.offset);
3495
+ this.offset += 1;
3496
+ return value;
3497
+ }
3498
+ readByte() {
3499
+ const value = this.view.getUint8(this.offset);
3500
+ this.offset += 1;
3501
+ return value;
3502
+ }
3503
+ readShort() {
3504
+ const value = this.view.getInt16(this.offset, true);
3505
+ this.offset += 2;
3506
+ return value;
3507
+ }
3508
+ readLong() {
3509
+ const value = this.view.getInt32(this.offset, true);
3510
+ this.offset += 4;
3511
+ return value;
3512
+ }
3513
+ readFloat() {
3514
+ const value = this.view.getFloat32(this.offset, true);
3515
+ this.offset += 4;
3516
+ return value;
3517
+ }
3518
+ readString() {
3519
+ let str = "";
3520
+ while (this.offset < this.length) {
3521
+ const charCode = this.readChar();
3522
+ if (charCode === -1 || charCode === 0) {
3523
+ break;
3524
+ }
3525
+ str += String.fromCharCode(charCode);
3526
+ }
3527
+ return str;
3528
+ }
3529
+ readStringLine() {
3530
+ let str = "";
3531
+ while (this.offset < this.length) {
3532
+ const charCode = this.readChar();
3533
+ if (charCode === -1 || charCode === 0 || charCode === 10) {
3534
+ break;
3535
+ }
3536
+ str += String.fromCharCode(charCode);
3537
+ }
3538
+ return str;
3539
+ }
3540
+ readCoord() {
3541
+ return this.readShort() * (1 / 8);
3542
+ }
3543
+ readAngle() {
3544
+ return this.readChar() * (360 / 256);
3545
+ }
3546
+ readAngle16() {
3547
+ return this.readShort() * 360 / 65536;
3548
+ }
3549
+ readData(length) {
3550
+ if (this.offset + length > this.length) {
3551
+ throw new Error(`Read out of bounds: ${this.offset + length} (length: ${this.length})`);
3552
+ }
3553
+ const data = new Uint8Array(this.view.buffer, this.view.byteOffset + this.offset, length);
3554
+ this.offset += length;
3555
+ return new Uint8Array(data);
3556
+ }
3557
+ readPos(out) {
3558
+ out.x = this.readCoord();
3559
+ out.y = this.readCoord();
3560
+ out.z = this.readCoord();
3561
+ }
3562
+ readDir(out) {
3563
+ const b = this.readByte();
3564
+ if (b >= 162) {
3565
+ out.x = 0;
3566
+ out.y = 0;
3567
+ out.z = 0;
3568
+ return;
3569
+ }
3570
+ out.x = 0;
3571
+ out.y = 0;
3572
+ out.z = 0;
3573
+ }
3574
+ };
3370
3575
  // Annotate the CommonJS export names for ESM import in node:
3371
3576
  0 && (module.exports = {
3577
+ BinaryStream,
3372
3578
  CGAME_EXPORT_KEYS,
3373
3579
  CGAME_IMPORT_KEYS,
3374
3580
  CONTENTS_AREAPORTAL,
@@ -3401,6 +3607,7 @@ var applyPmove = (state, cmd, trace, pointContents2) => {
3401
3607
  CONTENTS_WINDOW,
3402
3608
  CS_MAX_STRING_LENGTH,
3403
3609
  CS_MAX_STRING_LENGTH_OLD,
3610
+ ClientCommand,
3404
3611
  CollisionEntityIndex,
3405
3612
  ConfigStringIndex,
3406
3613
  CvarFlags,
@@ -3471,6 +3678,8 @@ var applyPmove = (state, cmd, trace, pointContents2) => {
3471
3678
  SURF_TRANS33,
3472
3679
  SURF_TRANS66,
3473
3680
  SURF_WARP,
3681
+ ServerCommand,
3682
+ TempEntity,
3474
3683
  WaterLevel,
3475
3684
  YAW,
3476
3685
  ZERO_VEC3,