t2-demo-parser 2.2.0 → 3.0.1

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 (95) hide show
  1. package/README.md +170 -7
  2. package/dist/BitStream.d.ts +14 -3
  3. package/dist/BitStream.d.ts.map +1 -1
  4. package/dist/BitStream.js +28 -6
  5. package/dist/BitStream.js.map +1 -1
  6. package/dist/BitWriter.d.ts +29 -0
  7. package/dist/BitWriter.d.ts.map +1 -0
  8. package/dist/BitWriter.js +76 -0
  9. package/dist/BitWriter.js.map +1 -0
  10. package/dist/ClassRegistry.d.ts +23 -28
  11. package/dist/ClassRegistry.d.ts.map +1 -1
  12. package/dist/ClassRegistry.js +75 -84
  13. package/dist/ClassRegistry.js.map +1 -1
  14. package/dist/DataBlockParsers.d.ts.map +1 -1
  15. package/dist/DataBlockParsers.js +60 -85
  16. package/dist/DataBlockParsers.js.map +1 -1
  17. package/dist/DemoParser.d.ts +23 -22
  18. package/dist/DemoParser.d.ts.map +1 -1
  19. package/dist/DemoParser.js +218 -266
  20. package/dist/DemoParser.js.map +1 -1
  21. package/dist/EventParsers.d.ts.map +1 -1
  22. package/dist/EventParsers.js +87 -58
  23. package/dist/EventParsers.js.map +1 -1
  24. package/dist/GhostManager.d.ts +7 -1
  25. package/dist/GhostManager.d.ts.map +1 -1
  26. package/dist/GhostManager.js +231 -146
  27. package/dist/GhostManager.js.map +1 -1
  28. package/dist/HuffmanProcessor.d.ts +15 -0
  29. package/dist/HuffmanProcessor.d.ts.map +1 -1
  30. package/dist/HuffmanProcessor.js +45 -0
  31. package/dist/HuffmanProcessor.js.map +1 -1
  32. package/dist/LiveParser.d.ts +20 -1
  33. package/dist/LiveParser.d.ts.map +1 -1
  34. package/dist/LiveParser.js +31 -12
  35. package/dist/LiveParser.js.map +1 -1
  36. package/dist/PacketParser.d.ts +22 -2
  37. package/dist/PacketParser.d.ts.map +1 -1
  38. package/dist/PacketParser.js +111 -48
  39. package/dist/PacketParser.js.map +1 -1
  40. package/dist/Timeline.d.ts +5 -2
  41. package/dist/Timeline.d.ts.map +1 -1
  42. package/dist/Timeline.js +25 -12
  43. package/dist/Timeline.js.map +1 -1
  44. package/dist/cli.js +3 -0
  45. package/dist/cli.js.map +1 -1
  46. package/dist/dataBlockDataTypes.d.ts +118 -117
  47. package/dist/dataBlockDataTypes.d.ts.map +1 -1
  48. package/dist/dataBlockDataTypes.js.map +1 -1
  49. package/dist/defaultRegistry.d.ts +9 -0
  50. package/dist/defaultRegistry.d.ts.map +1 -0
  51. package/dist/defaultRegistry.js +43 -0
  52. package/dist/defaultRegistry.js.map +1 -0
  53. package/dist/eventDataTypes.d.ts +74 -72
  54. package/dist/eventDataTypes.d.ts.map +1 -1
  55. package/dist/eventDataTypes.js.map +1 -1
  56. package/dist/ghostDataTypes.d.ts +125 -131
  57. package/dist/ghostDataTypes.d.ts.map +1 -1
  58. package/dist/ghostDataTypes.js.map +1 -1
  59. package/dist/index.d.ts +6 -4
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +4 -2
  62. package/dist/index.js.map +1 -1
  63. package/dist/types.d.ts +51 -2
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js +6 -0
  66. package/dist/types.js.map +1 -1
  67. package/package.json +4 -1
  68. package/dist/BitStream.test.d.ts +0 -2
  69. package/dist/BitStream.test.d.ts.map +0 -1
  70. package/dist/BitStream.test.js +0 -419
  71. package/dist/BitStream.test.js.map +0 -1
  72. package/dist/ClassRegistry.test.d.ts +0 -2
  73. package/dist/ClassRegistry.test.d.ts.map +0 -1
  74. package/dist/ClassRegistry.test.js +0 -83
  75. package/dist/ClassRegistry.test.js.map +0 -1
  76. package/dist/DataBlockParsers.test.d.ts +0 -2
  77. package/dist/DataBlockParsers.test.d.ts.map +0 -1
  78. package/dist/DataBlockParsers.test.js +0 -294
  79. package/dist/DataBlockParsers.test.js.map +0 -1
  80. package/dist/DemoParser.test.d.ts +0 -2
  81. package/dist/DemoParser.test.d.ts.map +0 -1
  82. package/dist/DemoParser.test.js +0 -472
  83. package/dist/DemoParser.test.js.map +0 -1
  84. package/dist/GhostStateAccumulator.test.d.ts +0 -2
  85. package/dist/GhostStateAccumulator.test.d.ts.map +0 -1
  86. package/dist/GhostStateAccumulator.test.js +0 -201
  87. package/dist/GhostStateAccumulator.test.js.map +0 -1
  88. package/dist/GhostTracker.test.d.ts +0 -2
  89. package/dist/GhostTracker.test.d.ts.map +0 -1
  90. package/dist/GhostTracker.test.js +0 -64
  91. package/dist/GhostTracker.test.js.map +0 -1
  92. package/dist/IncrementalParser.test.d.ts +0 -2
  93. package/dist/IncrementalParser.test.d.ts.map +0 -1
  94. package/dist/IncrementalParser.test.js +0 -226
  95. package/dist/IncrementalParser.test.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import type { Vec3, Color3, Color4, AffineTransform } from "./dataTypes.js";
2
- export interface HudImageEntry {
2
+ export type HudImageEntry = {
3
3
  friendlyName: string;
4
4
  enemyName?: string;
5
5
  renderCenter: boolean;
@@ -7,7 +7,7 @@ export interface HudImageEntry {
7
7
  renderAlways: boolean;
8
8
  renderDistance: boolean;
9
9
  renderName: boolean;
10
- }
10
+ };
11
11
  /**
12
12
  * One ShapeBaseImageData state. Transition values are 1-based state
13
13
  * indices (0 = no transition), in the engine's own packing order —
@@ -15,7 +15,7 @@ export interface HudImageEntry {
15
15
  * (no NotLoaded/Loaded, phantom generic0 pair) and consumers carried a
16
16
  * remap table to compensate.
17
17
  */
18
- export interface ImageState {
18
+ export type ImageState = {
19
19
  name: string;
20
20
  transitionOnNotLoaded: number;
21
21
  transitionOnLoaded: number;
@@ -47,21 +47,19 @@ export interface ImageState {
47
47
  emitterTime?: number;
48
48
  emitterNode?: number;
49
49
  sound: number | null;
50
- }
51
- export interface ParticleKey {
50
+ };
51
+ export type ParticleKey = {
52
52
  r: number;
53
53
  g: number;
54
54
  b: number;
55
55
  a: number;
56
56
  size: number;
57
57
  time: number;
58
- }
59
- export interface SimDataBlock {
60
- [key: string]: unknown;
61
- }
58
+ };
59
+ export type SimDataBlock = {};
62
60
  export interface GameBaseDataBlock extends SimDataBlock {
63
61
  }
64
- export interface ShapeBaseDataBlock extends GameBaseDataBlock {
62
+ export type ShapeBaseDataBlock = GameBaseDataBlock & {
65
63
  crc?: number;
66
64
  shapeName?: string;
67
65
  mass?: number;
@@ -95,8 +93,8 @@ export interface ShapeBaseDataBlock extends GameBaseDataBlock {
95
93
  shieldEffectLifetimeMS?: number;
96
94
  shieldEffectScale?: Vec3;
97
95
  hudImages?: HudImageEntry[];
98
- }
99
- export interface ShapeBaseImageDataBlock extends GameBaseDataBlock {
96
+ };
97
+ export type ShapeBaseImageDataBlock = GameBaseDataBlock & {
100
98
  crc?: number;
101
99
  shapeName?: string;
102
100
  mountPoint?: number;
@@ -126,13 +124,13 @@ export interface ShapeBaseImageDataBlock extends GameBaseDataBlock {
126
124
  casing?: number | null;
127
125
  accuFire?: boolean;
128
126
  states?: ImageState[];
129
- }
127
+ };
130
128
  /**
131
129
  * Field names for the movement/jet/splash sections are binary-verified
132
130
  * against Tribes2.exe (build 25034) initPersistFields offsets — the
133
131
  * retail struct layout differs from the SVN engine source.
134
132
  */
135
- export interface PlayerDataBlock extends ShapeBaseDataBlock {
133
+ export type PlayerDataBlock = ShapeBaseDataBlock & {
136
134
  renderFirstPerson?: boolean;
137
135
  minLookAngle?: number;
138
136
  maxLookAngle?: number;
@@ -150,7 +148,7 @@ export interface PlayerDataBlock extends ShapeBaseDataBlock {
150
148
  maxJetForwardSpeed?: number;
151
149
  maxJetHorizontalPercentage?: number;
152
150
  jetEmitter?: number | null;
153
- jetEffect?: number;
151
+ jetEffect?: number | null;
154
152
  runForce?: number;
155
153
  runEnergyDrain?: number;
156
154
  minRunEnergy?: number;
@@ -204,8 +202,8 @@ export interface PlayerDataBlock extends ShapeBaseDataBlock {
204
202
  /** Heat signature rates (Tribes 2; retail player.cs: 1/4 and 1/3). */
205
203
  heatDecayPerSec?: number;
206
204
  heatIncreasePerSec?: number;
207
- }
208
- export interface VehicleDataBlock extends ShapeBaseDataBlock {
205
+ };
206
+ export type VehicleDataBlock = ShapeBaseDataBlock & {
209
207
  bodyRestitution?: number;
210
208
  bodyFriction?: number;
211
209
  impactSounds?: (number | null)[];
@@ -221,6 +219,9 @@ export interface VehicleDataBlock extends ShapeBaseDataBlock {
221
219
  jetForce?: number;
222
220
  jetEnergyDrain?: number;
223
221
  minJetEnergy?: number;
222
+ triggerDustHeight?: number;
223
+ dustHeight?: number;
224
+ numDmgEmitterAreas?: number;
224
225
  integration?: number;
225
226
  collisionTol?: number;
226
227
  massCenter?: number;
@@ -240,8 +241,8 @@ export interface VehicleDataBlock extends ShapeBaseDataBlock {
240
241
  splashVelEpsilon?: number;
241
242
  collDamageThresholdVel?: number;
242
243
  collDamageMultiplier?: number;
243
- }
244
- export interface FlyingVehicleDataBlock extends VehicleDataBlock {
244
+ };
245
+ export type FlyingVehicleDataBlock = VehicleDataBlock & {
245
246
  jetActivateSound?: number | null;
246
247
  jetDeactivateSound?: number | null;
247
248
  jetEmitters?: (number | null)[];
@@ -261,8 +262,8 @@ export interface FlyingVehicleDataBlock extends VehicleDataBlock {
261
262
  minTrailSpeed?: number;
262
263
  vertThrustMultiple?: number;
263
264
  maxForwardSpeed?: number;
264
- }
265
- export interface HoverVehicleDataBlock extends VehicleDataBlock {
265
+ };
266
+ export type HoverVehicleDataBlock = VehicleDataBlock & {
266
267
  dragForce?: number;
267
268
  mainThrustForce?: number;
268
269
  reverseThrustForce?: number;
@@ -291,8 +292,8 @@ export interface HoverVehicleDataBlock extends VehicleDataBlock {
291
292
  mainThrustEmitterFactor?: number;
292
293
  strafeThrustEmitterFactor?: number;
293
294
  reverseThrustEmitterFactor?: number;
294
- }
295
- export interface WheeledVehicleDataBlock extends VehicleDataBlock {
295
+ };
296
+ export type WheeledVehicleDataBlock = VehicleDataBlock & {
296
297
  tireRadius?: number;
297
298
  tireStaticFriction?: number;
298
299
  tireKineticFriction?: number;
@@ -318,12 +319,12 @@ export interface WheeledVehicleDataBlock extends VehicleDataBlock {
318
319
  steeringReturn?: number;
319
320
  steeringDamping?: number;
320
321
  powerSteeringFactor?: number;
321
- }
322
- export interface StaticShapeDataBlock extends ShapeBaseDataBlock {
322
+ };
323
+ export type StaticShapeDataBlock = ShapeBaseDataBlock & {
323
324
  noIndividualDamage?: boolean;
324
325
  dynamicTypeField?: number;
325
- }
326
- export interface TurretDataBlock extends StaticShapeDataBlock {
326
+ };
327
+ export type TurretDataBlock = StaticShapeDataBlock & {
327
328
  thetaMin?: number;
328
329
  thetaMax?: number;
329
330
  thetaNull?: number;
@@ -331,8 +332,8 @@ export interface TurretDataBlock extends StaticShapeDataBlock {
331
332
  primaryAxis?: number;
332
333
  maxCapacitorEnergy?: number;
333
334
  capacitorRechargeRate?: number;
334
- }
335
- export interface TurretImageDataBlock extends ShapeBaseImageDataBlock {
335
+ };
336
+ export type TurretImageDataBlock = ShapeBaseImageDataBlock & {
336
337
  activationMS?: number;
337
338
  deactivateDelayMS?: number;
338
339
  degPerSecTheta?: number;
@@ -340,8 +341,8 @@ export interface TurretImageDataBlock extends ShapeBaseImageDataBlock {
340
341
  dontFireInsideDamageRadius?: boolean;
341
342
  damageRadius?: number;
342
343
  useCapacitor?: boolean;
343
- }
344
- export interface ItemDataBlock extends ShapeBaseDataBlock {
344
+ };
345
+ export type ItemDataBlock = ShapeBaseDataBlock & {
345
346
  friction?: number;
346
347
  elasticity?: number;
347
348
  sticky?: boolean;
@@ -352,8 +353,8 @@ export interface ItemDataBlock extends ShapeBaseDataBlock {
352
353
  lightTime?: number;
353
354
  lightRadius?: number;
354
355
  lightOnlyStatic?: boolean;
355
- }
356
- export interface ProjectileDataBlock extends GameBaseDataBlock {
356
+ };
357
+ export type ProjectileDataBlock = GameBaseDataBlock & {
357
358
  projectileShapeName?: string;
358
359
  faceViewerLinkTime?: number;
359
360
  lifetime?: number;
@@ -374,12 +375,12 @@ export interface ProjectileDataBlock extends GameBaseDataBlock {
374
375
  underwaterLightColor?: Color3;
375
376
  explodeOnWaterImpact?: boolean;
376
377
  depthTolerance?: number;
377
- }
378
+ };
378
379
  /**
379
380
  * Field names binary-verified against Tribes2.exe (build 25034):
380
381
  * initPersistFields FUN_0062b3c0 / unpackData FUN_0062bea0.
381
382
  */
382
- export interface LinearProjectileDataBlock extends ProjectileDataBlock {
383
+ export type LinearProjectileDataBlock = ProjectileDataBlock & {
383
384
  dryVelocity?: number;
384
385
  wetVelocity?: number;
385
386
  /** Milliseconds, tick-rounded (32ms) by the engine's onAdd. */
@@ -394,8 +395,8 @@ export interface LinearProjectileDataBlock extends ProjectileDataBlock {
394
395
  fizzleUnderwaterMS?: number;
395
396
  activateDelayMS?: number;
396
397
  doDynamicClientHits?: boolean;
397
- }
398
- export interface GrenadeProjectileDataBlock extends ProjectileDataBlock {
398
+ };
399
+ export type GrenadeProjectileDataBlock = ProjectileDataBlock & {
399
400
  armingDelayMS?: number;
400
401
  muzzleVelocity?: number;
401
402
  grenadeElasticity?: number;
@@ -404,8 +405,8 @@ export interface GrenadeProjectileDataBlock extends ProjectileDataBlock {
404
405
  density?: number;
405
406
  gravityMod?: number;
406
407
  lifetimeMS?: number;
407
- }
408
- export interface SeekerProjectileDataBlock extends ProjectileDataBlock {
408
+ };
409
+ export type SeekerProjectileDataBlock = ProjectileDataBlock & {
409
410
  lifetimeMS?: number;
410
411
  muzzleVelocity?: number;
411
412
  turningSpeed?: number;
@@ -426,8 +427,8 @@ export interface SeekerProjectileDataBlock extends ProjectileDataBlock {
426
427
  casingDebris?: number | null;
427
428
  puffEmitter?: number | null;
428
429
  exhaustEmitter?: number | null;
429
- }
430
- export interface SniperProjectileDataBlock extends ProjectileDataBlock {
430
+ };
431
+ export type SniperProjectileDataBlock = ProjectileDataBlock & {
431
432
  maxRifleRange?: number;
432
433
  rifleHeadMultiplier?: number;
433
434
  beamColor?: Color4;
@@ -441,8 +442,8 @@ export interface SniperProjectileDataBlock extends ProjectileDataBlock {
441
442
  pulseSpeed?: number;
442
443
  pulseLength?: number;
443
444
  textures?: string[];
444
- }
445
- export interface ShockLanceProjectileDataBlock extends ProjectileDataBlock {
445
+ };
446
+ export type ShockLanceProjectileDataBlock = ProjectileDataBlock & {
446
447
  zapDuration?: number;
447
448
  boltLength?: number;
448
449
  numParts?: number;
@@ -457,13 +458,13 @@ export interface ShockLanceProjectileDataBlock extends ProjectileDataBlock {
457
458
  texWrap?: number[];
458
459
  textures?: string[];
459
460
  emitter?: number | null;
460
- }
461
+ };
461
462
  /**
462
463
  * Field names binary-verified against Tribes2.exe (build 25034):
463
464
  * initPersistFields FUN_0064a860 / unpackData FUN_0064ae00. The ELF
464
465
  * gun: a wavy main beam with lightning arcs around it.
465
466
  */
466
- export interface ELFProjectileDataBlock extends ProjectileDataBlock {
467
+ export type ELFProjectileDataBlock = ProjectileDataBlock & {
467
468
  beamRange?: number;
468
469
  mainBeamWidth?: number;
469
470
  mainBeamSpeed?: number;
@@ -473,13 +474,13 @@ export interface ELFProjectileDataBlock extends ProjectileDataBlock {
473
474
  /** textures[0..2] — retail: ELFBeam, ELFLightning, BlueImpact. */
474
475
  textures?: string[];
475
476
  emitter?: number | null;
476
- }
477
+ };
477
478
  /**
478
479
  * Field names binary-verified against Tribes2.exe (build 25034):
479
480
  * initPersistFields FUN_00644910 / unpackData FUN_00644c40. The repair
480
481
  * beam: a segmented ribbon (numSegments) with a blur trail.
481
482
  */
482
- export interface RepairProjectileDataBlock extends ProjectileDataBlock {
483
+ export type RepairProjectileDataBlock = ProjectileDataBlock & {
483
484
  beamRange?: number;
484
485
  beamWidth?: number;
485
486
  /** Engine S32 (the old decode read its raw bits as a float). */
@@ -491,8 +492,8 @@ export interface RepairProjectileDataBlock extends ProjectileDataBlock {
491
492
  cutoffAngle?: number;
492
493
  /** textures[0..1] — retail: special/redbump2, special/redflare. */
493
494
  textures?: string[];
494
- }
495
- export interface TargetProjectileDataBlock extends ProjectileDataBlock {
495
+ };
496
+ export type TargetProjectileDataBlock = ProjectileDataBlock & {
496
497
  maxRifleRange?: number;
497
498
  beamColor?: Color4;
498
499
  startBeamWidth?: number;
@@ -503,12 +504,12 @@ export interface TargetProjectileDataBlock extends ProjectileDataBlock {
503
504
  pulseSpeed?: number;
504
505
  pulseLength?: number;
505
506
  textures?: string[];
506
- }
507
+ };
507
508
  /**
508
509
  * Field names binary-verified against Tribes2.exe (build 25034):
509
510
  * initPersistFields FUN_0063fcb0 / unpackData FUN_00640160.
510
511
  */
511
- export interface TracerProjectileDataBlock extends LinearProjectileDataBlock {
512
+ export type TracerProjectileDataBlock = LinearProjectileDataBlock & {
512
513
  tracerLength?: number;
513
514
  tracerWidth?: number;
514
515
  tracerMinPixels?: number;
@@ -521,14 +522,14 @@ export interface TracerProjectileDataBlock extends LinearProjectileDataBlock {
521
522
  renderCross?: boolean;
522
523
  tracerTex0?: string;
523
524
  tracerTex1?: string;
524
- }
525
+ };
525
526
  /**
526
527
  * Field names binary-verified against Tribes2.exe (build 25034):
527
528
  * initPersistFields FUN_00694b40 / unpackData FUN_00694d80. The blaster
528
529
  * bolt: an oriented additive quad (texture0) with an edge-on cross
529
530
  * (texture1) and an untextured motion-blur tail (blur* fields).
530
531
  */
531
- export interface EnergyProjectileDataBlock extends GrenadeProjectileDataBlock {
532
+ export type EnergyProjectileDataBlock = GrenadeProjectileDataBlock & {
532
533
  /** Cross fades in when the view angle cosine exceeds this (0x168). */
533
534
  crossViewAng?: number;
534
535
  crossSize?: number;
@@ -540,17 +541,19 @@ export interface EnergyProjectileDataBlock extends GrenadeProjectileDataBlock {
540
541
  texture0?: string;
541
542
  /** texture[1] — the edge-on cross (e.g. "special/blasterBoltCross"). */
542
543
  texture1?: string;
543
- }
544
- export interface LinearFlareProjectileDataBlock extends LinearProjectileDataBlock {
544
+ };
545
+ export type LinearFlareProjectileDataBlock = LinearProjectileDataBlock & {
546
+ /** Spikes kept alive around the bolt (plasma: 35). */
545
547
  numFlares?: number;
546
548
  flareColor?: Color4;
547
- flareTexture?: string;
548
- smokeTexture?: string;
549
- size?: number;
550
- flareModTexture?: number;
551
- smokeSize?: number;
552
- }
553
- export interface BombProjectileDataBlock extends GrenadeProjectileDataBlock {
549
+ /** Billboard texture for a shapeless bolt (e.g. "flaremod"). */
550
+ flareModTexture?: string;
551
+ /** Spike texture (e.g. "flarebase"). */
552
+ flareBaseTexture?: string;
553
+ /** size[0..2]: spike base scale, and the tip scale it grows from and to. */
554
+ sizes?: [number, number, number];
555
+ };
556
+ export type BombProjectileDataBlock = GrenadeProjectileDataBlock & {
554
557
  smokeDist?: number;
555
558
  noSmoke?: number;
556
559
  boomTime?: number;
@@ -559,14 +562,14 @@ export interface BombProjectileDataBlock extends GrenadeProjectileDataBlock {
559
562
  noSmokeCounter?: number;
560
563
  smokeTexture?: string;
561
564
  bombTexture?: string;
562
- }
563
- export interface FlareProjectileDataBlock extends GrenadeProjectileDataBlock {
565
+ };
566
+ export type FlareProjectileDataBlock = GrenadeProjectileDataBlock & {
564
567
  size?: number;
565
568
  useLensFlare?: boolean;
566
569
  flareTexture?: string;
567
570
  lensFlareTexture?: string;
568
- }
569
- export interface ExplosionDataBlock extends GameBaseDataBlock {
571
+ };
572
+ export type ExplosionDataBlock = GameBaseDataBlock & {
570
573
  dtsFileName?: string;
571
574
  soundProfile?: number | null;
572
575
  particleEmitter?: number | null;
@@ -601,8 +604,8 @@ export interface ExplosionDataBlock extends GameBaseDataBlock {
601
604
  subExplosions?: (number | null)[];
602
605
  times?: number[];
603
606
  sizes?: Vec3[];
604
- }
605
- export interface DebrisDataBlock extends GameBaseDataBlock {
607
+ };
608
+ export type DebrisDataBlock = GameBaseDataBlock & {
606
609
  elasticity?: number;
607
610
  friction?: number;
608
611
  numBounces?: number;
@@ -615,8 +618,6 @@ export interface DebrisDataBlock extends GameBaseDataBlock {
615
618
  snapOnMaxBounce?: boolean;
616
619
  lifetime?: number;
617
620
  lifetimeVariance?: number;
618
- minSpinSpeed_dup?: number;
619
- maxSpinSpeed_dup?: number;
620
621
  velocity?: number;
621
622
  velocityVariance?: number;
622
623
  useRadiusMass?: boolean;
@@ -630,8 +631,8 @@ export interface DebrisDataBlock extends GameBaseDataBlock {
630
631
  emitter0?: number | null;
631
632
  emitter1?: number | null;
632
633
  explosion?: number | null;
633
- }
634
- export interface SplashDataBlock extends GameBaseDataBlock {
634
+ };
635
+ export type SplashDataBlock = GameBaseDataBlock & {
635
636
  scale?: Vec3;
636
637
  delayMS?: number;
637
638
  delayVariance?: number;
@@ -654,8 +655,8 @@ export interface SplashDataBlock extends GameBaseDataBlock {
654
655
  times?: number[];
655
656
  textureName?: string;
656
657
  foamTexture?: string;
657
- }
658
- export interface ShockwaveDataBlock extends GameBaseDataBlock {
658
+ };
659
+ export type ShockwaveDataBlock = GameBaseDataBlock & {
659
660
  scale?: Vec3;
660
661
  delayMS?: number;
661
662
  delayVariance?: number;
@@ -679,8 +680,8 @@ export interface ShockwaveDataBlock extends GameBaseDataBlock {
679
680
  times?: number[];
680
681
  textureName?: string;
681
682
  mapToTexture?: string;
682
- }
683
- export interface ParticleEmitterDataBlock extends GameBaseDataBlock {
683
+ };
684
+ export type ParticleEmitterDataBlock = GameBaseDataBlock & {
684
685
  ejectionPeriodMS?: number;
685
686
  periodVarianceMS?: number;
686
687
  ejectionVelocity?: number;
@@ -698,8 +699,8 @@ export interface ParticleEmitterDataBlock extends GameBaseDataBlock {
698
699
  useEmitterSizes?: boolean;
699
700
  useEmitterColors?: boolean;
700
701
  particles?: (number | null)[];
701
- }
702
- export interface ParticleDataBlock extends GameBaseDataBlock {
702
+ };
703
+ export type ParticleDataBlock = GameBaseDataBlock & {
703
704
  dragCoefficient?: number;
704
705
  windCoefficient?: number;
705
706
  gravityCoefficient?: number;
@@ -713,8 +714,8 @@ export interface ParticleDataBlock extends GameBaseDataBlock {
713
714
  useInvAlpha?: boolean;
714
715
  keys?: ParticleKey[];
715
716
  textures?: string[];
716
- }
717
- export interface AudioDescriptionDataBlock extends SimDataBlock {
717
+ };
718
+ export type AudioDescriptionDataBlock = SimDataBlock & {
718
719
  volume?: number;
719
720
  isLooping?: boolean;
720
721
  loopCount?: number;
@@ -729,14 +730,14 @@ export interface AudioDescriptionDataBlock extends SimDataBlock {
729
730
  coneVector?: Vec3;
730
731
  environmentLevel?: number;
731
732
  type?: number;
732
- }
733
- export interface AudioProfileDataBlock extends SimDataBlock {
733
+ };
734
+ export type AudioProfileDataBlock = SimDataBlock & {
734
735
  description?: number | null;
735
736
  environment?: number | null;
736
737
  sampleEnvironment?: number | null;
737
738
  filename?: string;
738
- }
739
- export interface AudioEnvironmentDataBlock extends SimDataBlock {
739
+ };
740
+ export type AudioEnvironmentDataBlock = SimDataBlock & {
740
741
  useRoom?: boolean;
741
742
  room?: number;
742
743
  roomHF?: number;
@@ -754,8 +755,8 @@ export interface AudioEnvironmentDataBlock extends SimDataBlock {
754
755
  airAbsorption?: number;
755
756
  effectVolume?: number;
756
757
  flags?: number;
757
- }
758
- export interface AudioSampleEnvironmentDataBlock extends SimDataBlock {
758
+ };
759
+ export type AudioSampleEnvironmentDataBlock = SimDataBlock & {
759
760
  direct?: number;
760
761
  directHF?: number;
761
762
  room?: number;
@@ -769,20 +770,20 @@ export interface AudioSampleEnvironmentDataBlock extends SimDataBlock {
769
770
  airAbsorption?: number;
770
771
  outsideVolumeHF?: number;
771
772
  flags?: number;
772
- }
773
- export interface DecalDataBlock extends SimDataBlock {
773
+ };
774
+ export type DecalDataBlock = SimDataBlock & {
774
775
  sizeX?: number;
775
776
  sizeY?: number;
776
777
  textureName?: string;
777
- }
778
+ };
778
779
  export interface CameraDataBlock extends ShapeBaseDataBlock {
779
780
  }
780
781
  export interface SensorDataBlock extends SimDataBlock {
781
782
  }
782
- export interface TriggerDataBlock extends SimDataBlock {
783
+ export type TriggerDataBlock = SimDataBlock & {
783
784
  tickPeriodMS?: number;
784
- }
785
- export interface ForceFieldBareDataBlock extends SimDataBlock {
785
+ };
786
+ export type ForceFieldBareDataBlock = SimDataBlock & {
786
787
  fadeMS?: number;
787
788
  baseTranslucency?: number;
788
789
  powerOffTranslucency?: number;
@@ -800,18 +801,18 @@ export interface ForceFieldBareDataBlock extends SimDataBlock {
800
801
  texture2?: string;
801
802
  texture3?: string;
802
803
  texture4?: string;
803
- }
804
- export interface ParticleEmissionDummyDataBlock extends SimDataBlock {
804
+ };
805
+ export type ParticleEmissionDummyDataBlock = SimDataBlock & {
805
806
  timeMultiple?: number;
806
- }
807
- export interface CommanderIconDataBlock extends SimDataBlock {
807
+ };
808
+ export type CommanderIconDataBlock = SimDataBlock & {
808
809
  baseImage?: string;
809
810
  activeImage?: string;
810
811
  inactiveImage?: string;
811
812
  selectImage?: string;
812
813
  hilightImage?: string;
813
- }
814
- export interface PrecipitationDataBlock extends SimDataBlock {
814
+ };
815
+ export type PrecipitationDataBlock = SimDataBlock & {
815
816
  soundProfile?: number | null;
816
817
  numDrops?: number;
817
818
  maxSize?: number;
@@ -829,16 +830,16 @@ export interface PrecipitationDataBlock extends SimDataBlock {
829
830
  bottomSpeedPer?: number;
830
831
  frontSpeedPer?: number;
831
832
  frontRadiusPer?: number;
832
- }
833
- export interface FireballAtmosphereDataBlock extends SimDataBlock {
833
+ };
834
+ export type FireballAtmosphereDataBlock = SimDataBlock & {
834
835
  emitter?: number | null;
835
- }
836
- export interface LightningDataBlock extends SimDataBlock {
836
+ };
837
+ export type LightningDataBlock = SimDataBlock & {
837
838
  strikeSounds?: (number | null)[];
838
839
  strikeTextures?: string[];
839
840
  thunderSound?: number | null;
840
- }
841
- export interface StationFXVehicleDataBlock extends SimDataBlock {
841
+ };
842
+ export type StationFXVehicleDataBlock = SimDataBlock & {
842
843
  glowTopHeight?: number;
843
844
  glowBottomHeight?: number;
844
845
  glowTopRadius?: number;
@@ -866,8 +867,8 @@ export interface StationFXVehicleDataBlock extends SimDataBlock {
866
867
  rightNodeName3?: string;
867
868
  texture0?: string;
868
869
  texture1?: string;
869
- }
870
- export interface StationFXPersonalDataBlock extends SimDataBlock {
870
+ };
871
+ export type StationFXPersonalDataBlock = SimDataBlock & {
871
872
  glowTopRadius?: number;
872
873
  glowBottomRadius?: number;
873
874
  glowTopHeight?: number;
@@ -882,24 +883,24 @@ export interface StationFXPersonalDataBlock extends SimDataBlock {
882
883
  rightNodeName?: string;
883
884
  texture0?: string;
884
885
  texture1?: string;
885
- }
886
- export interface CannedChatItemDataBlock extends SimDataBlock {
886
+ };
887
+ export type CannedChatItemDataBlock = SimDataBlock & {
887
888
  chatText?: string;
888
- }
889
+ };
889
890
  export interface MissionMarkerDataBlock extends ShapeBaseDataBlock {
890
891
  }
891
- export interface TSShapeConstructorDataBlock extends SimDataBlock {
892
+ export type TSShapeConstructorDataBlock = SimDataBlock & {
892
893
  shape?: string;
893
894
  sequences?: string[];
894
- }
895
- export interface EffectProfileDataBlock extends SimDataBlock {
895
+ };
896
+ export type EffectProfileDataBlock = SimDataBlock & {
896
897
  minDistance?: number;
897
898
  maxDistance?: number;
898
899
  audioScale?: number;
899
900
  directional?: boolean;
900
901
  effectName?: string;
901
- }
902
- export interface JetEffectDataBlock extends GameBaseDataBlock {
902
+ };
903
+ export type JetEffectDataBlock = GameBaseDataBlock & {
903
904
  coolColor?: Color4;
904
905
  hotColor?: Color4;
905
906
  activateTime?: number;
@@ -910,8 +911,8 @@ export interface JetEffectDataBlock extends GameBaseDataBlock {
910
911
  stretch?: number;
911
912
  yOffset?: number;
912
913
  texture?: string;
913
- }
914
- export interface RunningLightDataBlock extends GameBaseDataBlock {
914
+ };
915
+ export type RunningLightDataBlock = GameBaseDataBlock & {
915
916
  radius?: number;
916
917
  color?: Color4;
917
918
  type?: number;
@@ -920,5 +921,5 @@ export interface RunningLightDataBlock extends GameBaseDataBlock {
920
921
  direction?: Vec3;
921
922
  offset?: Vec3;
922
923
  texture?: string;
923
- }
924
+ };
924
925
  //# sourceMappingURL=dataBlockDataTypes.d.ts.map