t2-demo-parser 1.0.0

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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +823 -0
  3. package/dist/BitStream.d.ts +143 -0
  4. package/dist/BitStream.d.ts.map +1 -0
  5. package/dist/BitStream.js +369 -0
  6. package/dist/BitStream.js.map +1 -0
  7. package/dist/BitStream.test.d.ts +2 -0
  8. package/dist/BitStream.test.d.ts.map +1 -0
  9. package/dist/BitStream.test.js +419 -0
  10. package/dist/BitStream.test.js.map +1 -0
  11. package/dist/ClassRegistry.d.ts +100 -0
  12. package/dist/ClassRegistry.d.ts.map +1 -0
  13. package/dist/ClassRegistry.js +118 -0
  14. package/dist/ClassRegistry.js.map +1 -0
  15. package/dist/ClassRegistry.test.d.ts +2 -0
  16. package/dist/ClassRegistry.test.d.ts.map +1 -0
  17. package/dist/ClassRegistry.test.js +83 -0
  18. package/dist/ClassRegistry.test.js.map +1 -0
  19. package/dist/DataBlockParsers.d.ts +3 -0
  20. package/dist/DataBlockParsers.d.ts.map +1 -0
  21. package/dist/DataBlockParsers.js +2041 -0
  22. package/dist/DataBlockParsers.js.map +1 -0
  23. package/dist/DemoParser.d.ts +155 -0
  24. package/dist/DemoParser.d.ts.map +1 -0
  25. package/dist/DemoParser.js +943 -0
  26. package/dist/DemoParser.js.map +1 -0
  27. package/dist/DemoParser.test.d.ts +2 -0
  28. package/dist/DemoParser.test.d.ts.map +1 -0
  29. package/dist/DemoParser.test.js +472 -0
  30. package/dist/DemoParser.test.js.map +1 -0
  31. package/dist/EventParsers.d.ts +3 -0
  32. package/dist/EventParsers.d.ts.map +1 -0
  33. package/dist/EventParsers.js +603 -0
  34. package/dist/EventParsers.js.map +1 -0
  35. package/dist/GhostManager.d.ts +13 -0
  36. package/dist/GhostManager.d.ts.map +1 -0
  37. package/dist/GhostManager.js +2002 -0
  38. package/dist/GhostManager.js.map +1 -0
  39. package/dist/GhostTracker.test.d.ts +2 -0
  40. package/dist/GhostTracker.test.d.ts.map +1 -0
  41. package/dist/GhostTracker.test.js +64 -0
  42. package/dist/GhostTracker.test.js.map +1 -0
  43. package/dist/HuffmanProcessor.d.ts +12 -0
  44. package/dist/HuffmanProcessor.d.ts.map +1 -0
  45. package/dist/HuffmanProcessor.js +163 -0
  46. package/dist/HuffmanProcessor.js.map +1 -0
  47. package/dist/LiveParser.d.ts +16 -0
  48. package/dist/LiveParser.d.ts.map +1 -0
  49. package/dist/LiveParser.js +29 -0
  50. package/dist/LiveParser.js.map +1 -0
  51. package/dist/PacketParser.d.ts +104 -0
  52. package/dist/PacketParser.d.ts.map +1 -0
  53. package/dist/PacketParser.js +713 -0
  54. package/dist/PacketParser.js.map +1 -0
  55. package/dist/Timeline.d.ts +101 -0
  56. package/dist/Timeline.d.ts.map +1 -0
  57. package/dist/Timeline.js +251 -0
  58. package/dist/Timeline.js.map +1 -0
  59. package/dist/cli.d.ts +3 -0
  60. package/dist/cli.d.ts.map +1 -0
  61. package/dist/cli.js +372 -0
  62. package/dist/cli.js.map +1 -0
  63. package/dist/dataBlockDataTypes.d.ts +877 -0
  64. package/dist/dataBlockDataTypes.d.ts.map +1 -0
  65. package/dist/dataBlockDataTypes.js +2 -0
  66. package/dist/dataBlockDataTypes.js.map +1 -0
  67. package/dist/dataTypes.d.ts +31 -0
  68. package/dist/dataTypes.d.ts.map +1 -0
  69. package/dist/dataTypes.js +5 -0
  70. package/dist/dataTypes.js.map +1 -0
  71. package/dist/dump.d.ts +3 -0
  72. package/dist/dump.d.ts.map +1 -0
  73. package/dist/dump.js +36 -0
  74. package/dist/dump.js.map +1 -0
  75. package/dist/eventDataTypes.d.ts +199 -0
  76. package/dist/eventDataTypes.d.ts.map +1 -0
  77. package/dist/eventDataTypes.js +2 -0
  78. package/dist/eventDataTypes.js.map +1 -0
  79. package/dist/ghostDataTypes.d.ts +573 -0
  80. package/dist/ghostDataTypes.d.ts.map +1 -0
  81. package/dist/ghostDataTypes.js +2 -0
  82. package/dist/ghostDataTypes.js.map +1 -0
  83. package/dist/index.d.ts +17 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +9 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/types.d.ts +261 -0
  88. package/dist/types.d.ts.map +1 -0
  89. package/dist/types.js +204 -0
  90. package/dist/types.js.map +1 -0
  91. package/package.json +46 -0
@@ -0,0 +1,877 @@
1
+ import type { Vec3, Color3, Color4, AffineTransform } from "./dataTypes.js";
2
+ export interface HudImageEntry {
3
+ friendlyName: string;
4
+ enemyName?: string;
5
+ renderCenter: boolean;
6
+ renderModulated: boolean;
7
+ renderAlways: boolean;
8
+ renderDistance: boolean;
9
+ renderName: boolean;
10
+ }
11
+ export interface ImageState {
12
+ name: string;
13
+ transitionOnAmmo: number;
14
+ transitionOnNoAmmo: number;
15
+ transitionOnTarget: number;
16
+ transitionOnNoTarget: number;
17
+ transitionOnWet: number;
18
+ transitionOnNotWet: number;
19
+ transitionOnTriggerUp: number;
20
+ transitionOnTriggerDown: number;
21
+ transitionOnTimeout: number;
22
+ transitionGeneric0In: number;
23
+ transitionGeneric0Out: number;
24
+ timeoutValue?: number;
25
+ waitForTimeout: boolean;
26
+ fire: boolean;
27
+ ejectShell: boolean;
28
+ scaleAnimation: boolean;
29
+ direction: boolean;
30
+ reload: boolean;
31
+ energyDrain?: number;
32
+ loaded: number;
33
+ spin: number;
34
+ recoil: number;
35
+ sequence?: number;
36
+ sequenceVis?: number;
37
+ flashSequence: boolean;
38
+ ignoreLoadedForReady: boolean;
39
+ emitter: number | null;
40
+ emitterTime?: number;
41
+ emitterNode?: number;
42
+ sound: number | null;
43
+ }
44
+ export interface ParticleKey {
45
+ r: number;
46
+ g: number;
47
+ b: number;
48
+ a: number;
49
+ size: number;
50
+ time: number;
51
+ }
52
+ export interface SimDataBlock {
53
+ [key: string]: unknown;
54
+ }
55
+ export interface GameBaseDataBlock extends SimDataBlock {
56
+ }
57
+ export interface ShapeBaseDataBlock extends GameBaseDataBlock {
58
+ crc?: number;
59
+ shapeName?: string;
60
+ mass?: number;
61
+ drag?: number;
62
+ density?: number;
63
+ maxEnergy?: number;
64
+ cameraMaxDist?: number;
65
+ cameraMinDist?: number;
66
+ cameraDefaultFov?: number;
67
+ cameraMinFov?: number;
68
+ cameraMaxFov?: number;
69
+ debrisShapeName?: string;
70
+ sensorRadius?: number;
71
+ sensorColor?: Color4;
72
+ heat?: number;
73
+ cmdCategory?: string;
74
+ cmdMiniIconName?: string;
75
+ canControl?: boolean;
76
+ canObserve?: boolean;
77
+ observeThroughObject?: boolean;
78
+ emap?: boolean;
79
+ isInvincible?: boolean;
80
+ renderWhenDestroyed?: boolean;
81
+ cmdIcon?: number | null;
82
+ explosion?: number | null;
83
+ underwaterExplosion?: number | null;
84
+ debris?: number | null;
85
+ inheritEnergyFromMount?: boolean;
86
+ firstPersonOnly?: boolean;
87
+ useEyePoint?: boolean;
88
+ shieldEffectLifetimeMS?: number;
89
+ shieldEffectScale?: Vec3;
90
+ hudImages?: HudImageEntry[];
91
+ }
92
+ export interface ShapeBaseImageDataBlock extends GameBaseDataBlock {
93
+ crc?: number;
94
+ shapeName?: string;
95
+ mountPoint?: number;
96
+ offset?: AffineTransform;
97
+ firstPerson?: boolean;
98
+ mass?: number;
99
+ usesEnergy?: boolean;
100
+ minEnergy?: number;
101
+ hasFlash?: boolean;
102
+ projectile?: number | null;
103
+ muzzleFlash?: number | null;
104
+ isSeeker?: boolean;
105
+ seekerRadius?: number;
106
+ maxSeekAngle?: number;
107
+ seekerLockTime?: number;
108
+ seekerFreeTime?: number;
109
+ isTargetLockRequired?: boolean;
110
+ maxLockRange?: number;
111
+ cloakable?: boolean;
112
+ lightType?: number;
113
+ lightRadius?: number;
114
+ lightTime?: number;
115
+ lightColor?: Color4;
116
+ shellExitDir?: Vec3;
117
+ shellExitVariance?: number;
118
+ shellVelocity?: number;
119
+ casing?: number | null;
120
+ accuFire?: boolean;
121
+ states?: ImageState[];
122
+ }
123
+ export interface PlayerDataBlock extends ShapeBaseDataBlock {
124
+ renderFirstPerson?: boolean;
125
+ minLookAngle?: number;
126
+ maxLookAngle?: number;
127
+ maxFreelookAngle?: number;
128
+ maxTimeScale?: number;
129
+ maxStepHeight?: number;
130
+ runForce?: number;
131
+ runEnergyDrain?: number;
132
+ minRunEnergy?: number;
133
+ maxForwardSpeed?: number;
134
+ maxBackwardSpeed?: number;
135
+ maxSideSpeed?: number;
136
+ maxUnderwaterForwardSpeed?: number;
137
+ maxUnderwaterBackwardSpeed?: number;
138
+ maxUnderwaterSideSpeedRef?: number | null;
139
+ runSurfaceAngleRef?: number;
140
+ runSurfaceAngle?: number;
141
+ recoverDelay?: number;
142
+ recoverRunForceScale?: number;
143
+ jumpForce?: number;
144
+ jumpEnergyDrain?: number;
145
+ minJumpEnergy?: number;
146
+ minJumpSpeed?: number;
147
+ maxJumpSpeed?: number;
148
+ jumpSurfaceAngle?: number;
149
+ minJetEnergy?: number;
150
+ splashVelocity?: number;
151
+ splashAngle?: number;
152
+ splashFreqMod?: number;
153
+ splashVelEpsilon?: number;
154
+ bubbleEmitTime?: number;
155
+ medSplashSoundVel?: number;
156
+ hardSplashSoundVel?: number;
157
+ exitSplashSoundVel?: number;
158
+ jumpDelay?: number;
159
+ horizMaxSpeed?: number;
160
+ horizResistSpeed?: number;
161
+ horizResistFactor?: number;
162
+ upMaxSpeed?: number;
163
+ upResistSpeed?: number;
164
+ upResistFactor?: number;
165
+ jetEnergyDrain?: number;
166
+ canJet?: number;
167
+ maxJetHorizontalPercentage?: number;
168
+ maxJetForwardSpeed?: number;
169
+ jetForce?: number;
170
+ minJetSpeed?: number;
171
+ maxDamage?: number;
172
+ minImpactDamageSpeed?: number;
173
+ impactDamageScale?: number;
174
+ footSplashHeight?: number;
175
+ sounds?: (number | null)[];
176
+ boxSize?: Vec3;
177
+ footPuffEmitter?: number | null;
178
+ footPuffNumParts?: number;
179
+ footPuffRadius?: number;
180
+ decalData?: number | null;
181
+ decalOffset?: number;
182
+ dustEmitter?: number | null;
183
+ splash?: number | null;
184
+ splashEmitters?: (number | null)[];
185
+ groundImpactMinSpeed?: number;
186
+ groundImpactShakeFreq?: Vec3;
187
+ groundImpactShakeAmp?: Vec3;
188
+ groundImpactShakeDuration?: number;
189
+ groundImpactShakeFalloff?: number;
190
+ boundingRadius?: number;
191
+ moveBubbleSize?: number;
192
+ }
193
+ export interface VehicleDataBlock extends ShapeBaseDataBlock {
194
+ bodyRestitution?: number;
195
+ bodyFriction?: number;
196
+ impactSounds?: (number | null)[];
197
+ minImpactSpeed?: number;
198
+ softImpactSpeed?: number;
199
+ hardImpactSpeed?: number;
200
+ minRollSpeed?: number;
201
+ maxSteeringAngle?: number;
202
+ maxDrag?: number;
203
+ minDrag?: number;
204
+ cameraOffset?: number;
205
+ cameraLag?: number;
206
+ jetForce?: number;
207
+ jetEnergyDrain?: number;
208
+ minJetEnergy?: number;
209
+ integration?: number;
210
+ collisionTol?: number;
211
+ massCenter?: number;
212
+ exitSplashSoundVelocity?: number;
213
+ softSplashSoundVelocity?: number;
214
+ mediumSplashSoundVelocity?: number;
215
+ hardSplashSoundVelocity?: number;
216
+ waterSounds?: (number | null)[];
217
+ dustEmitter?: number | null;
218
+ damageEmitters?: (number | null)[];
219
+ splashEmitters?: (number | null)[];
220
+ damageEmitterOffset0?: Vec3;
221
+ damageEmitterOffset1?: Vec3;
222
+ damageLevelTolerance0?: number;
223
+ damageLevelTolerance1?: number;
224
+ splashFreqMod?: number;
225
+ splashVelEpsilon?: number;
226
+ collDamageThresholdVel?: number;
227
+ collDamageMultiplier?: number;
228
+ }
229
+ export interface FlyingVehicleDataBlock extends VehicleDataBlock {
230
+ jetActivateSound?: number | null;
231
+ jetDeactivateSound?: number | null;
232
+ jetEmitters?: (number | null)[];
233
+ maneuveringForce?: number;
234
+ horizontalSurfaceForce?: number;
235
+ verticalSurfaceForce?: number;
236
+ autoInputDamping?: number;
237
+ steeringForce?: number;
238
+ steeringRollForce?: number;
239
+ rollForce?: number;
240
+ autoAngularForce?: number;
241
+ rotationalDrag?: number;
242
+ maxAutoSpeed?: number;
243
+ autoLinearForce?: number;
244
+ hoverHeight?: number;
245
+ createHoverHeight?: number;
246
+ minTrailSpeed?: number;
247
+ vertThrustMultiple?: number;
248
+ maxForwardSpeed?: number;
249
+ }
250
+ export interface HoverVehicleDataBlock extends VehicleDataBlock {
251
+ dragForce?: number;
252
+ mainThrustForce?: number;
253
+ reverseThrustForce?: number;
254
+ strafeThrustForce?: number;
255
+ turboFactor?: number;
256
+ stabLenMin?: number;
257
+ stabLenMax?: number;
258
+ stabSpringConstant?: number;
259
+ stabDampingConstant?: number;
260
+ gyroDrag?: number;
261
+ normalForce?: number;
262
+ restorativeForce?: number;
263
+ steeringForce?: number;
264
+ rollForce?: number;
265
+ pitchForce?: number;
266
+ floatingThrustFactor?: number;
267
+ brakingForce?: number;
268
+ dustTrailOffset?: Vec3;
269
+ dustTrailFreqMod?: number;
270
+ triggerTrailHeight?: number;
271
+ floatSound?: number | null;
272
+ thrustSound?: number | null;
273
+ turboSound?: number | null;
274
+ jetEmitters?: (number | null)[];
275
+ dustTrailEmitter?: number | null;
276
+ mainThrustEmitterFactor?: number;
277
+ strafeThrustEmitterFactor?: number;
278
+ reverseThrustEmitterFactor?: number;
279
+ }
280
+ export interface WheeledVehicleDataBlock extends VehicleDataBlock {
281
+ tireRadius?: number;
282
+ tireStaticFriction?: number;
283
+ tireKineticFriction?: number;
284
+ tireRestitution?: number;
285
+ tireLateralForce?: number;
286
+ tireLateralDamping?: number;
287
+ tireLateralRelaxation?: number;
288
+ tireLongitudinalForce?: number;
289
+ tireLongitudinalDamping?: number;
290
+ tireEmitter?: number | null;
291
+ jetSound?: number | null;
292
+ engineSound?: number | null;
293
+ squealSound?: number | null;
294
+ wadeSound?: number | null;
295
+ spring?: number;
296
+ springDamping?: number;
297
+ springLength?: number;
298
+ brakeTorque?: number;
299
+ engineTorque?: number;
300
+ engineBrake?: number;
301
+ maxWheelSpeed?: number;
302
+ steeringAngle?: number;
303
+ steeringReturn?: number;
304
+ steeringDamping?: number;
305
+ powerSteeringFactor?: number;
306
+ }
307
+ export interface StaticShapeDataBlock extends ShapeBaseDataBlock {
308
+ noIndividualDamage?: boolean;
309
+ dynamicTypeField?: number;
310
+ }
311
+ export interface TurretDataBlock extends StaticShapeDataBlock {
312
+ thetaMin?: number;
313
+ thetaMax?: number;
314
+ thetaNull?: number;
315
+ neverUpdateControl?: boolean;
316
+ primaryAxis?: number;
317
+ maxCapacitorEnergy?: number;
318
+ capacitorRechargeRate?: number;
319
+ }
320
+ export interface TurretImageDataBlock extends ShapeBaseImageDataBlock {
321
+ activationMS?: number;
322
+ deactivateDelayMS?: number;
323
+ degPerSecTheta?: number;
324
+ degPerSecPhi?: number;
325
+ dontFireInsideDamageRadius?: boolean;
326
+ damageRadius?: number;
327
+ useCapacitor?: boolean;
328
+ }
329
+ export interface ItemDataBlock extends ShapeBaseDataBlock {
330
+ friction?: number;
331
+ elasticity?: number;
332
+ sticky?: boolean;
333
+ gravityMod?: number;
334
+ maxVelocity?: number;
335
+ lightType?: number;
336
+ lightColor?: Color4;
337
+ lightTime?: number;
338
+ lightRadius?: number;
339
+ lightOnlyStatic?: boolean;
340
+ }
341
+ export interface ProjectileDataBlock extends GameBaseDataBlock {
342
+ projectileShapeName?: string;
343
+ faceViewerLinkTime?: number;
344
+ lifetime?: number;
345
+ faceViewer?: boolean;
346
+ scale?: Vec3;
347
+ baseEmitter?: number | null;
348
+ delayEmitter?: number | null;
349
+ bubbleEmitter?: number | null;
350
+ explosion?: number | null;
351
+ underwaterExplosion?: number | null;
352
+ splash?: number | null;
353
+ sound?: number | null;
354
+ wetFireSound?: number | null;
355
+ fireSound?: number | null;
356
+ decals?: (number | null)[];
357
+ lightRadius?: number;
358
+ lightColor?: Color3 | Color4;
359
+ underwaterLightColor?: Color3;
360
+ explodeOnWaterImpact?: boolean;
361
+ depthTolerance?: number;
362
+ }
363
+ export interface LinearProjectileDataBlock extends ProjectileDataBlock {
364
+ dryVelocity?: number;
365
+ wetVelocity?: number;
366
+ fizzleTime?: number;
367
+ fizzleType?: number;
368
+ hardRetarget?: boolean;
369
+ inheritedVelocityScale?: number;
370
+ lifetimeMS?: number;
371
+ collideWithOwnerTimeMS?: number;
372
+ /** Number in LinearProjectile; boolean in TracerProjectile (readBool). */
373
+ proximityRadius?: number | boolean;
374
+ tracerProjectile?: boolean;
375
+ }
376
+ export interface GrenadeProjectileDataBlock extends ProjectileDataBlock {
377
+ armingDelayMS?: number;
378
+ muzzleVelocity?: number;
379
+ grenadeElasticity?: number;
380
+ grenadeFriction?: number;
381
+ drag?: number;
382
+ density?: number;
383
+ gravityMod?: number;
384
+ lifetimeMS?: number;
385
+ }
386
+ export interface SeekerProjectileDataBlock extends ProjectileDataBlock {
387
+ lifetimeMS?: number;
388
+ muzzleVelocity?: number;
389
+ turningSpeed?: number;
390
+ proximityRadius?: number;
391
+ terrainAvoidanceSpeed?: number;
392
+ terrainScanAhead?: number;
393
+ terrainHeightFail?: number;
394
+ terrainAvoidanceRadius?: number;
395
+ flareDistance?: number;
396
+ flareAngle?: number;
397
+ useFlechette?: boolean;
398
+ maxVelocity?: number;
399
+ acceleration?: number;
400
+ flechetteDelayMs?: number;
401
+ exhaustTimeMs?: number;
402
+ exhaustNodeName?: string;
403
+ casingShapeName?: string;
404
+ casingDebris?: number | null;
405
+ puffEmitter?: number | null;
406
+ exhaustEmitter?: number | null;
407
+ }
408
+ export interface SniperProjectileDataBlock extends ProjectileDataBlock {
409
+ maxRifleRange?: number;
410
+ rifleHeadMultiplier?: number;
411
+ beamColor?: Color4;
412
+ fadeTime?: number;
413
+ startBeamWidth?: number;
414
+ endBeamWidth?: number;
415
+ pulseBeamWidth?: number;
416
+ beamFlareAngle?: number;
417
+ minFlareSize?: number;
418
+ maxFlareSize?: number;
419
+ pulseSpeed?: number;
420
+ pulseLength?: number;
421
+ textures?: string[];
422
+ }
423
+ export interface ShockLanceProjectileDataBlock extends ProjectileDataBlock {
424
+ zapDuration?: number;
425
+ boltLength?: number;
426
+ numParts?: number;
427
+ lightningFreq?: number;
428
+ lightningDensity?: number;
429
+ lightningAmp?: number;
430
+ lightningWidth?: number;
431
+ shockwave?: number | null;
432
+ startWidth?: number[];
433
+ endWidth?: number[];
434
+ boltSpeed?: number[];
435
+ texWrap?: number[];
436
+ textures?: string[];
437
+ emitter?: number | null;
438
+ }
439
+ export interface ELFProjectileDataBlock extends ProjectileDataBlock {
440
+ beamRange?: number;
441
+ beamDrainRate?: number;
442
+ muzzleVelocity?: number;
443
+ proximityRadius?: number;
444
+ startWidth?: number;
445
+ endWidth?: number;
446
+ mainBeamTexture?: string;
447
+ innerBeamTexture?: string;
448
+ flareTexture?: string;
449
+ hitEmitter?: number | null;
450
+ }
451
+ export interface RepairProjectileDataBlock extends ProjectileDataBlock {
452
+ beamRange?: number;
453
+ beamRepairRate?: number;
454
+ muzzleVelocity?: number;
455
+ proximityRadius?: number;
456
+ startWidth?: number;
457
+ endWidth?: number;
458
+ startBeamWidth?: number;
459
+ endBeamWidth?: number;
460
+ mainBeamTexture?: string;
461
+ innerBeamTexture?: string;
462
+ }
463
+ export interface TargetProjectileDataBlock extends ProjectileDataBlock {
464
+ maxRifleRange?: number;
465
+ beamColor?: Color4;
466
+ startBeamWidth?: number;
467
+ pulseBeamWidth?: number;
468
+ beamFlareAngle?: number;
469
+ minFlareSize?: number;
470
+ maxFlareSize?: number;
471
+ pulseSpeed?: number;
472
+ pulseLength?: number;
473
+ textures?: string[];
474
+ }
475
+ export interface TracerProjectileDataBlock extends LinearProjectileDataBlock {
476
+ tracerLength?: number;
477
+ tracerAlpha?: number;
478
+ tracerMinPixels?: number;
479
+ crossViewFraction?: boolean;
480
+ tracerColor?: Color4;
481
+ tracerWidth?: number;
482
+ muzzleVelocity?: number;
483
+ textureName0?: string;
484
+ textureName1?: string;
485
+ }
486
+ export interface EnergyProjectileDataBlock extends GrenadeProjectileDataBlock {
487
+ energyDrainPerSecond?: number;
488
+ energyMinDrain?: number;
489
+ beamWidth?: number;
490
+ beamRange?: number;
491
+ numSegments?: number;
492
+ texRepeat?: number;
493
+ beamFlareAngle?: number;
494
+ beamTexture?: string;
495
+ flareTexture?: string;
496
+ }
497
+ export interface LinearFlareProjectileDataBlock extends LinearProjectileDataBlock {
498
+ numFlares?: number;
499
+ flareColor?: Color4;
500
+ flareTexture?: string;
501
+ smokeTexture?: string;
502
+ size?: number;
503
+ flareModTexture?: number;
504
+ smokeSize?: number;
505
+ }
506
+ export interface BombProjectileDataBlock extends GrenadeProjectileDataBlock {
507
+ smokeDist?: number;
508
+ noSmoke?: number;
509
+ boomTime?: number;
510
+ casingDist?: number;
511
+ smokeCushion?: number;
512
+ noSmokeCounter?: number;
513
+ smokeTexture?: string;
514
+ bombTexture?: string;
515
+ }
516
+ export interface FlareProjectileDataBlock extends GrenadeProjectileDataBlock {
517
+ size?: number;
518
+ useLensFlare?: boolean;
519
+ flareTexture?: string;
520
+ lensFlareTexture?: string;
521
+ }
522
+ export interface ExplosionDataBlock extends GameBaseDataBlock {
523
+ dtsFileName?: string;
524
+ soundProfile?: number | null;
525
+ particleEmitter?: number | null;
526
+ particleDensity?: number;
527
+ particleRadius?: number;
528
+ faceViewer?: boolean;
529
+ explosionScale?: Vec3;
530
+ playSpeed?: number;
531
+ debrisThetaMin?: number;
532
+ debrisThetaMax?: number;
533
+ debrisPhiMin?: number;
534
+ debrisPhiMax?: number;
535
+ debrisMinVelocity?: number;
536
+ debrisMaxVelocity?: number;
537
+ debrisNum?: number;
538
+ debrisVariance?: number;
539
+ delayMS?: number;
540
+ delayVariance?: number;
541
+ lifetimeMS?: number;
542
+ lifetimeVariance?: number;
543
+ offset?: number;
544
+ shakeCamera?: boolean;
545
+ hasLight?: boolean;
546
+ camShakeFreq?: Vec3;
547
+ camShakeAmp?: Vec3;
548
+ camShakeDuration?: number;
549
+ camShakeRadius?: number;
550
+ camShakeFalloff?: number;
551
+ shockwave?: number | null;
552
+ debris?: number | null;
553
+ emitters?: (number | null)[];
554
+ subExplosions?: (number | null)[];
555
+ times?: number[];
556
+ sizes?: Vec3[];
557
+ }
558
+ export interface DebrisDataBlock extends GameBaseDataBlock {
559
+ elasticity?: number;
560
+ friction?: number;
561
+ numBounces?: number;
562
+ bounceVariance?: number;
563
+ minSpinSpeed?: number;
564
+ maxSpinSpeed?: number;
565
+ render2D?: boolean;
566
+ explodeOnMaxBounce?: boolean;
567
+ staticOnMaxBounce?: boolean;
568
+ snapOnMaxBounce?: boolean;
569
+ lifetime?: number;
570
+ lifetimeVariance?: number;
571
+ minSpinSpeed_dup?: number;
572
+ maxSpinSpeed_dup?: number;
573
+ velocity?: number;
574
+ velocityVariance?: number;
575
+ useRadiusMass?: boolean;
576
+ fade?: boolean;
577
+ baseRadius?: number;
578
+ gravModifier?: number;
579
+ terminalVelocity?: number;
580
+ ignoreWater?: boolean;
581
+ shapeFileName?: string;
582
+ skinName?: string;
583
+ emitter0?: number | null;
584
+ emitter1?: number | null;
585
+ explosion?: number | null;
586
+ }
587
+ export interface SplashDataBlock extends GameBaseDataBlock {
588
+ scale?: Vec3;
589
+ delayMS?: number;
590
+ delayVariance?: number;
591
+ lifetimeMS?: number;
592
+ lifetimeVariance?: number;
593
+ width?: number;
594
+ numSegments?: number;
595
+ velocity?: number;
596
+ height?: number;
597
+ acceleration?: number;
598
+ texWrap?: number;
599
+ texFactor?: number;
600
+ ejectionFreq?: number;
601
+ ejectionAngle?: number;
602
+ ringLifetime?: number;
603
+ startRadius?: number;
604
+ explosion?: number | null;
605
+ emitters?: (number | null)[];
606
+ colors?: Color4[];
607
+ times?: number[];
608
+ textureName?: string;
609
+ foamTexture?: string;
610
+ }
611
+ export interface ShockwaveDataBlock extends GameBaseDataBlock {
612
+ scale?: Vec3;
613
+ delayMS?: number;
614
+ delayVariance?: number;
615
+ lifetimeMS?: number;
616
+ lifetimeVariance?: number;
617
+ width?: number;
618
+ numSegments?: number;
619
+ numVertSegments?: number;
620
+ velocity?: number;
621
+ height?: number;
622
+ verticalCurve?: number;
623
+ acceleration?: number;
624
+ texWrap?: number;
625
+ is2D?: boolean;
626
+ orientToNormal?: boolean;
627
+ mapToTerrain?: boolean;
628
+ renderBottom?: boolean;
629
+ renderSquare?: boolean;
630
+ emitters?: (number | null)[];
631
+ colors?: Color4[];
632
+ times?: number[];
633
+ textureName?: string;
634
+ mapToTexture?: string;
635
+ }
636
+ export interface ParticleEmitterDataBlock extends GameBaseDataBlock {
637
+ ejectionPeriodMS?: number;
638
+ periodVarianceMS?: number;
639
+ ejectionVelocity?: number;
640
+ velocityVariance?: number;
641
+ ejectionOffset?: number;
642
+ thetaMin?: number;
643
+ thetaMax?: number;
644
+ phiReferenceVel?: number;
645
+ phiVariance?: number;
646
+ overrideAdvances?: boolean;
647
+ orientParticles?: boolean;
648
+ orientOnVelocity?: boolean;
649
+ lifetimeMS?: number;
650
+ lifetimeVarianceMS?: number;
651
+ useEmitterSizes?: boolean;
652
+ useEmitterColors?: boolean;
653
+ particles?: (number | null)[];
654
+ }
655
+ export interface ParticleDataBlock extends GameBaseDataBlock {
656
+ dragCoefficient?: number;
657
+ windCoefficient?: number;
658
+ gravityCoefficient?: number;
659
+ inheritedVelFactor?: number;
660
+ constantAcceleration?: number;
661
+ lifetimeMS?: number;
662
+ lifetimeVarianceMS?: number;
663
+ spinSpeed?: number;
664
+ spinRandomMin?: number;
665
+ spinRandomMax?: number;
666
+ useInvAlpha?: boolean;
667
+ keys?: ParticleKey[];
668
+ textures?: string[];
669
+ }
670
+ export interface AudioDescriptionDataBlock extends SimDataBlock {
671
+ volume?: number;
672
+ isLooping?: boolean;
673
+ loopCount?: number;
674
+ minLoopGap?: number;
675
+ maxLoopGap?: number;
676
+ is3D?: boolean;
677
+ referenceDistance?: number;
678
+ maxDistance?: number;
679
+ coneInsideAngle?: number;
680
+ coneOutsideAngle?: number;
681
+ coneOutsideVolume?: number;
682
+ coneVector?: Vec3;
683
+ environmentLevel?: number;
684
+ type?: number;
685
+ }
686
+ export interface AudioProfileDataBlock extends SimDataBlock {
687
+ description?: number | null;
688
+ environment?: number | null;
689
+ sampleEnvironment?: number | null;
690
+ filename?: string;
691
+ }
692
+ export interface AudioEnvironmentDataBlock extends SimDataBlock {
693
+ useRoom?: boolean;
694
+ room?: number;
695
+ roomHF?: number;
696
+ reflections?: number;
697
+ reverb?: number;
698
+ roomRolloffFactor?: number;
699
+ decayTime?: number;
700
+ decayHFRatio?: number;
701
+ reflectionsDelay?: number;
702
+ reverbDelay?: number;
703
+ roomVolume?: number;
704
+ effectVolume?: number;
705
+ damping?: number;
706
+ environmentSize?: number;
707
+ environmentDiffusion?: number;
708
+ flags?: number;
709
+ effectVolumeHF?: number;
710
+ }
711
+ export interface AudioSampleEnvironmentDataBlock extends SimDataBlock {
712
+ direct?: number;
713
+ directHF?: number;
714
+ room?: number;
715
+ roomHF?: number;
716
+ obstruction?: number;
717
+ obstructionLFRatio?: number;
718
+ occlusion?: number;
719
+ occlusionLFRatio?: number;
720
+ occlusionRoomRatio?: number;
721
+ roomRolloff?: number;
722
+ airAbsorption?: number;
723
+ outsideVolumeHF?: number;
724
+ flags?: number;
725
+ }
726
+ export interface DecalDataBlock extends SimDataBlock {
727
+ sizeX?: number;
728
+ sizeY?: number;
729
+ textureName?: string;
730
+ }
731
+ export interface CameraDataBlock extends ShapeBaseDataBlock {
732
+ }
733
+ export interface SensorDataBlock extends SimDataBlock {
734
+ }
735
+ export interface TriggerDataBlock extends SimDataBlock {
736
+ tickPeriodMS?: number;
737
+ }
738
+ export interface ForceFieldBareDataBlock extends SimDataBlock {
739
+ fadeMS?: number;
740
+ baseTranslucency?: number;
741
+ powerOffTranslucency?: number;
742
+ fadeInOnly?: boolean;
743
+ triggerEnable?: boolean;
744
+ color1?: Color4;
745
+ color2?: Color4;
746
+ framesPerSec?: number;
747
+ numFrames?: number;
748
+ scrollSpeed?: number;
749
+ umapping?: number;
750
+ vmapping?: number;
751
+ texture0?: string;
752
+ texture1?: string;
753
+ texture2?: string;
754
+ texture3?: string;
755
+ texture4?: string;
756
+ }
757
+ export interface ParticleEmissionDummyDataBlock extends SimDataBlock {
758
+ timeMultiple?: number;
759
+ }
760
+ export interface CommanderIconDataBlock extends SimDataBlock {
761
+ baseImage?: string;
762
+ activeImage?: string;
763
+ inactiveImage?: string;
764
+ selectImage?: string;
765
+ hilightImage?: string;
766
+ }
767
+ export interface PrecipitationDataBlock extends SimDataBlock {
768
+ soundProfile?: number | null;
769
+ numDrops?: number;
770
+ maxSize?: number;
771
+ materialList?: string;
772
+ sizeX?: number;
773
+ sizeY?: number;
774
+ movingBoxPer?: number;
775
+ divHeightVal?: number;
776
+ sizeBigBox?: number;
777
+ topBoxSpeed?: number;
778
+ frontBoxSpeed?: number;
779
+ topBoxDrawPer?: number;
780
+ bottomDrawHeight?: number;
781
+ skipIfPer?: number;
782
+ bottomSpeedPer?: number;
783
+ frontSpeedPer?: number;
784
+ frontRadiusPer?: number;
785
+ }
786
+ export interface FireballAtmosphereDataBlock extends SimDataBlock {
787
+ emitter?: number | null;
788
+ }
789
+ export interface LightningDataBlock extends SimDataBlock {
790
+ strikeSounds?: (number | null)[];
791
+ strikeTextures?: string[];
792
+ thunderSound?: number | null;
793
+ }
794
+ export interface StationFXVehicleDataBlock extends SimDataBlock {
795
+ glowTopHeight?: number;
796
+ glowBottomHeight?: number;
797
+ glowTopRadius?: number;
798
+ glowBottomRadius?: number;
799
+ numGlowSegments?: number;
800
+ glowFadeTime?: number;
801
+ armLightDelay?: number;
802
+ armLightLifetime?: number;
803
+ armLightFadeTime?: number;
804
+ lifetime?: number;
805
+ numArcSegments?: number;
806
+ sphereColor?: Color4;
807
+ spherePhiSegments?: number;
808
+ sphereThetaSegments?: number;
809
+ sphereRadius?: number;
810
+ scale?: Vec3;
811
+ glowTexture?: string;
812
+ padTexture00?: string;
813
+ padTexture01?: string;
814
+ padTexture10?: string;
815
+ padTexture11?: string;
816
+ padTexture20?: string;
817
+ padTexture21?: string;
818
+ padTexture30?: string;
819
+ padTexture31?: string;
820
+ lightStartColor?: string;
821
+ lightEndColor?: string;
822
+ }
823
+ export interface StationFXPersonalDataBlock extends SimDataBlock {
824
+ glowTopRadius?: number;
825
+ glowBottomRadius?: number;
826
+ glowTopHeight?: number;
827
+ glowBottomHeight?: number;
828
+ numGlowSegments?: number;
829
+ numGlowPanels?: number;
830
+ topAlpha?: number;
831
+ bottomAlpha?: number;
832
+ glowSpeed?: number;
833
+ scrollSpeed?: number;
834
+ glowTexture?: string;
835
+ padTexture?: string;
836
+ lightStartColor?: string;
837
+ lightEndColor?: string;
838
+ }
839
+ export interface CannedChatItemDataBlock extends SimDataBlock {
840
+ chatText?: string;
841
+ }
842
+ export interface MissionMarkerDataBlock extends ShapeBaseDataBlock {
843
+ }
844
+ export interface TSShapeConstructorDataBlock extends SimDataBlock {
845
+ shape?: string;
846
+ sequences?: string[];
847
+ }
848
+ export interface EffectProfileDataBlock extends SimDataBlock {
849
+ minDistance?: number;
850
+ maxDistance?: number;
851
+ audioScale?: number;
852
+ directional?: boolean;
853
+ effectName?: string;
854
+ }
855
+ export interface JetEffectDataBlock extends GameBaseDataBlock {
856
+ coolColor?: Color4;
857
+ hotColor?: Color4;
858
+ activateTime?: number;
859
+ deactivateTime?: number;
860
+ length?: number;
861
+ width?: number;
862
+ speed?: number;
863
+ stretch?: number;
864
+ yOffset?: number;
865
+ texture?: string;
866
+ }
867
+ export interface RunningLightDataBlock extends GameBaseDataBlock {
868
+ radius?: number;
869
+ color?: Color4;
870
+ type?: number;
871
+ length?: number;
872
+ nodeName?: string;
873
+ direction?: Vec3;
874
+ offset?: Vec3;
875
+ texture?: string;
876
+ }
877
+ //# sourceMappingURL=dataBlockDataTypes.d.ts.map