quake2ts 0.0.254 → 0.0.257

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 (58) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +13 -13
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +770 -38
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +789 -57
  7. package/packages/client/dist/esm/index.js.map +1 -1
  8. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  9. package/packages/client/dist/types/hud/icons.d.ts.map +1 -1
  10. package/packages/client/dist/types/hud/statusbar.d.ts.map +1 -1
  11. package/packages/client/dist/types/index.d.ts +3 -1
  12. package/packages/client/dist/types/index.d.ts.map +1 -1
  13. package/packages/client/dist/types/net/connection.d.ts +60 -0
  14. package/packages/client/dist/types/net/connection.d.ts.map +1 -0
  15. package/packages/client/dist/types/ui/menu/main.d.ts +2 -0
  16. package/packages/client/dist/types/ui/menu/main.d.ts.map +1 -1
  17. package/packages/client/dist/types/ui/menu/multiplayer.d.ts +11 -0
  18. package/packages/client/dist/types/ui/menu/multiplayer.d.ts.map +1 -0
  19. package/packages/engine/dist/browser/index.global.js +14 -14
  20. package/packages/engine/dist/browser/index.global.js.map +1 -1
  21. package/packages/engine/dist/cjs/index.cjs +2 -0
  22. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  23. package/packages/engine/dist/esm/index.js +1 -0
  24. package/packages/engine/dist/esm/index.js.map +1 -1
  25. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  26. package/packages/engine/dist/types/index.d.ts +1 -1
  27. package/packages/engine/dist/types/index.d.ts.map +1 -1
  28. package/packages/game/dist/browser/index.global.js +2 -2
  29. package/packages/game/dist/browser/index.global.js.map +1 -1
  30. package/packages/game/dist/cjs/index.cjs +231 -208
  31. package/packages/game/dist/cjs/index.cjs.map +1 -1
  32. package/packages/game/dist/esm/index.js +230 -206
  33. package/packages/game/dist/esm/index.js.map +1 -1
  34. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  35. package/packages/game/dist/types/combat/weapons/firing.d.ts.map +1 -1
  36. package/packages/game/dist/types/combat/weapons/projectSource.d.ts +28 -0
  37. package/packages/game/dist/types/combat/weapons/projectSource.d.ts.map +1 -0
  38. package/packages/game/dist/types/combat/weapons/rogue.d.ts +4 -4
  39. package/packages/game/dist/types/combat/weapons/rogue.d.ts.map +1 -1
  40. package/packages/game/dist/types/combat/weapons/state.d.ts +6 -0
  41. package/packages/game/dist/types/combat/weapons/state.d.ts.map +1 -1
  42. package/packages/game/dist/types/entities/playerStats.d.ts.map +1 -1
  43. package/packages/game/dist/types/inventory/ammo.d.ts.map +1 -1
  44. package/packages/game/dist/types/inventory/playerInventory.d.ts +91 -38
  45. package/packages/game/dist/types/inventory/playerInventory.d.ts.map +1 -1
  46. package/packages/shared/dist/browser/index.global.js +1 -1
  47. package/packages/shared/dist/browser/index.global.js.map +1 -1
  48. package/packages/shared/dist/cjs/index.cjs +101 -2
  49. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  50. package/packages/shared/dist/esm/index.js +100 -2
  51. package/packages/shared/dist/esm/index.js.map +1 -1
  52. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  53. package/packages/shared/dist/types/io/index.d.ts +1 -0
  54. package/packages/shared/dist/types/io/index.d.ts.map +1 -1
  55. package/packages/shared/dist/types/io/messageBuilder.d.ts +21 -0
  56. package/packages/shared/dist/types/io/messageBuilder.d.ts.map +1 -0
  57. package/packages/shared/dist/types/protocol/stats.d.ts.map +1 -1
  58. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -133,6 +133,7 @@ __export(index_exports, {
133
133
  NUM_BITS_FOR_AMMO: () => NUM_BITS_FOR_AMMO,
134
134
  NUM_BITS_FOR_POWERUP: () => NUM_BITS_FOR_POWERUP,
135
135
  NUM_POWERUP_STATS: () => NUM_POWERUP_STATS,
136
+ NetworkMessageBuilder: () => NetworkMessageBuilder,
136
137
  PITCH: () => PITCH,
137
138
  POWERUP_MAX: () => POWERUP_MAX,
138
139
  PlaneSide: () => PlaneSide,
@@ -3993,7 +3994,10 @@ var POWERUP_STAT_MAP = {
3993
3994
  ["silencer" /* Silencer */]: 7,
3994
3995
  ["rebreather" /* Rebreather */]: 8,
3995
3996
  ["enviro_suit" /* EnviroSuit */]: 9,
3996
- // 10 is POWERUP_ADRENALINE (not in PowerupId?)
3997
+ ["bandolier" /* Bandolier */]: 10,
3998
+ // Placeholder/Map mismatch handling?
3999
+ ["ammo_pack" /* AmmoPack */]: 10,
4000
+ // Original reused indices or had gaps?
3997
4001
  ["ir_goggles" /* IRGoggles */]: 11,
3998
4002
  ["double_damage" /* DoubleDamage */]: 12,
3999
4003
  ["sphere_vengeance" /* SphereVengeance */]: 13,
@@ -4005,7 +4009,9 @@ var POWERUP_STAT_MAP = {
4005
4009
  ["tech_resistance" /* TechResistance */]: 19,
4006
4010
  ["tech_strength" /* TechStrength */]: 20,
4007
4011
  ["tech_haste" /* TechHaste */]: 21,
4008
- ["tech_regeneration" /* TechRegeneration */]: 22
4012
+ ["tech_regeneration" /* TechRegeneration */]: 22,
4013
+ // Add missing mappings to avoid runtime lookups failing for new types
4014
+ ["tag_token" /* TagToken */]: -1
4009
4015
  };
4010
4016
  function G_SetAmmoStat(stats, ammoId, count) {
4011
4017
  if (ammoId < 0 || ammoId >= AMMO_MAX) return;
@@ -4374,6 +4380,98 @@ var BinaryWriter = class {
4374
4380
  }
4375
4381
  };
4376
4382
 
4383
+ // src/io/messageBuilder.ts
4384
+ var NetworkMessageBuilder = class {
4385
+ constructor(initialSize = 1024) {
4386
+ this.buffer = new Uint8Array(initialSize);
4387
+ this.view = new DataView(this.buffer.buffer);
4388
+ this.offset = 0;
4389
+ }
4390
+ ensureCapacity(needed) {
4391
+ if (this.offset + needed > this.buffer.length) {
4392
+ const newSize = Math.max(this.buffer.length * 2, this.offset + needed);
4393
+ const newBuffer = new Uint8Array(newSize);
4394
+ newBuffer.set(this.buffer);
4395
+ this.buffer = newBuffer;
4396
+ this.view = new DataView(this.buffer.buffer);
4397
+ }
4398
+ }
4399
+ getData() {
4400
+ return this.buffer.slice(0, this.offset);
4401
+ }
4402
+ writeByte(value) {
4403
+ this.ensureCapacity(1);
4404
+ this.view.setUint8(this.offset, value);
4405
+ this.offset += 1;
4406
+ }
4407
+ writeChar(value) {
4408
+ this.ensureCapacity(1);
4409
+ this.view.setInt8(this.offset, value);
4410
+ this.offset += 1;
4411
+ }
4412
+ writeShort(value) {
4413
+ this.ensureCapacity(2);
4414
+ this.view.setInt16(this.offset, value, true);
4415
+ this.offset += 2;
4416
+ }
4417
+ writeUShort(value) {
4418
+ this.ensureCapacity(2);
4419
+ this.view.setUint16(this.offset, value, true);
4420
+ this.offset += 2;
4421
+ }
4422
+ writeLong(value) {
4423
+ this.ensureCapacity(4);
4424
+ this.view.setInt32(this.offset, value, true);
4425
+ this.offset += 4;
4426
+ }
4427
+ writeFloat(value) {
4428
+ this.ensureCapacity(4);
4429
+ this.view.setFloat32(this.offset, value, true);
4430
+ this.offset += 4;
4431
+ }
4432
+ writeString(value) {
4433
+ const len = value.length + 1;
4434
+ this.ensureCapacity(len);
4435
+ for (let i = 0; i < value.length; i++) {
4436
+ this.view.setUint8(this.offset + i, value.charCodeAt(i));
4437
+ }
4438
+ this.view.setUint8(this.offset + value.length, 0);
4439
+ this.offset += len;
4440
+ }
4441
+ writeData(data) {
4442
+ this.ensureCapacity(data.length);
4443
+ this.buffer.set(data, this.offset);
4444
+ this.offset += data.length;
4445
+ }
4446
+ writeCoord(value) {
4447
+ this.writeShort(Math.round(value * 8));
4448
+ }
4449
+ writeAngle(value) {
4450
+ this.writeByte(Math.round(value * 256 / 360) & 255);
4451
+ }
4452
+ writeAngle16(value) {
4453
+ this.writeShort(Math.round(value * 65536 / 360));
4454
+ }
4455
+ writeDir(x, y, z) {
4456
+ let best = 0;
4457
+ let bestDot = -999999;
4458
+ const len = Math.sqrt(x * x + y * y + z * z);
4459
+ if (len > 0) {
4460
+ x /= len;
4461
+ y /= len;
4462
+ z /= len;
4463
+ for (let i = 0; i < 162; i++) {
4464
+ const dot = x * ANORMS[i][0] + y * ANORMS[i][1] + z * ANORMS[i][2];
4465
+ if (dot > bestDot) {
4466
+ bestDot = dot;
4467
+ best = i;
4468
+ }
4469
+ }
4470
+ }
4471
+ this.writeByte(best);
4472
+ }
4473
+ };
4474
+
4377
4475
  // src/items/weapons.ts
4378
4476
  var WeaponId = /* @__PURE__ */ ((WeaponId2) => {
4379
4477
  WeaponId2["Blaster"] = "blaster";
@@ -4547,6 +4645,7 @@ var AmmoItemId = /* @__PURE__ */ ((AmmoItemId2) => {
4547
4645
  NUM_BITS_FOR_AMMO,
4548
4646
  NUM_BITS_FOR_POWERUP,
4549
4647
  NUM_POWERUP_STATS,
4648
+ NetworkMessageBuilder,
4550
4649
  PITCH,
4551
4650
  POWERUP_MAX,
4552
4651
  PlaneSide,