t2-demo-parser 1.0.2 → 2.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.
- package/README.md +201 -87
- package/dist/DataBlockParsers.d.ts.map +1 -1
- package/dist/DataBlockParsers.js +51 -42
- package/dist/DataBlockParsers.js.map +1 -1
- package/dist/DataBlockParsers.test.js +32 -0
- package/dist/DataBlockParsers.test.js.map +1 -1
- package/dist/DemoParser.d.ts.map +1 -1
- package/dist/DemoParser.js +43 -8
- package/dist/DemoParser.js.map +1 -1
- package/dist/GhostManager.d.ts.map +1 -1
- package/dist/GhostManager.js +36 -68
- package/dist/GhostManager.js.map +1 -1
- package/dist/GhostStateAccumulator.d.ts +36 -0
- package/dist/GhostStateAccumulator.d.ts.map +1 -0
- package/dist/GhostStateAccumulator.js +124 -0
- package/dist/GhostStateAccumulator.js.map +1 -0
- package/dist/GhostStateAccumulator.test.d.ts +2 -0
- package/dist/GhostStateAccumulator.test.d.ts.map +1 -0
- package/dist/GhostStateAccumulator.test.js +201 -0
- package/dist/GhostStateAccumulator.test.js.map +1 -0
- package/dist/LiveParser.d.ts +39 -1
- package/dist/LiveParser.d.ts.map +1 -1
- package/dist/LiveParser.js +43 -1
- package/dist/LiveParser.js.map +1 -1
- package/dist/PacketParser.d.ts +23 -2
- package/dist/PacketParser.d.ts.map +1 -1
- package/dist/PacketParser.js +62 -19
- package/dist/PacketParser.js.map +1 -1
- package/dist/dataBlockDataTypes.d.ts +22 -21
- package/dist/dataBlockDataTypes.d.ts.map +1 -1
- package/dist/dataBlockDataTypes.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataBlockDataTypes.d.ts","sourceRoot":"","sources":["../src/dataBlockDataTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAM5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;CAAG;AAM1D,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAMD;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAC5B,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB;IACrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,8BACf,SAAQ,yBAAyB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAMD,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,+BAAgC,SAAQ,YAAY;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;CAAG;AAE9D,MAAM,WAAW,eAAgB,SAAQ,YAAY;CAAG;AAExD,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BAA+B,SAAQ,YAAY;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAMD,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA2B,SAAQ,YAAY;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;CAAG;AAErE,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"dataBlockDataTypes.d.ts","sourceRoot":"","sources":["../src/dataBlockDataTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataBlockDataTypes.js","sourceRoot":"","sources":["../src/dataBlockDataTypes.ts"],"names":[],"mappings":"","sourcesContent":["import type { Vec3, Color3, Color4, AffineTransform } from \"./dataTypes.js\";\n\n// ---------------------------------------------------------------------------\n// Sub-structures\n// ---------------------------------------------------------------------------\n\nexport interface HudImageEntry {\n friendlyName: string;\n enemyName?: string;\n renderCenter: boolean;\n renderModulated: boolean;\n renderAlways: boolean;\n renderDistance: boolean;\n renderName: boolean;\n}\n\nexport interface ImageState {\n name: string;\n transitionOnAmmo: number;\n transitionOnNoAmmo: number;\n transitionOnTarget: number;\n transitionOnNoTarget: number;\n transitionOnWet: number;\n transitionOnNotWet: number;\n transitionOnTriggerUp: number;\n transitionOnTriggerDown: number;\n transitionOnTimeout: number;\n transitionGeneric0In: number;\n transitionGeneric0Out: number;\n timeoutValue?: number;\n waitForTimeout: boolean;\n fire: boolean;\n ejectShell: boolean;\n scaleAnimation: boolean;\n direction: boolean;\n reload: boolean;\n energyDrain?: number;\n loaded: number;\n spin: number;\n recoil: number;\n sequence?: number;\n sequenceVis?: number;\n flashSequence: boolean;\n ignoreLoadedForReady: boolean;\n emitter: number | null;\n emitterTime?: number;\n emitterNode?: number;\n sound: number | null;\n}\n\nexport interface ParticleKey {\n r: number;\n g: number;\n b: number;\n a: number;\n size: number;\n time: number;\n}\n\n// ---------------------------------------------------------------------------\n// Base DataBlock types\n// ---------------------------------------------------------------------------\n\nexport interface SimDataBlock {\n [key: string]: unknown;\n}\n\nexport interface GameBaseDataBlock extends SimDataBlock {}\n\n// ---------------------------------------------------------------------------\n// ShapeBase hierarchy\n// ---------------------------------------------------------------------------\n\nexport interface ShapeBaseDataBlock extends GameBaseDataBlock {\n crc?: number;\n shapeName?: string;\n mass?: number;\n drag?: number;\n density?: number;\n maxEnergy?: number;\n cameraMaxDist?: number;\n cameraMinDist?: number;\n cameraDefaultFov?: number;\n cameraMinFov?: number;\n cameraMaxFov?: number;\n debrisShapeName?: string;\n sensorRadius?: number;\n sensorColor?: Color4;\n heat?: number;\n cmdCategory?: string;\n cmdMiniIconName?: string;\n canControl?: boolean;\n canObserve?: boolean;\n observeThroughObject?: boolean;\n emap?: boolean;\n isInvincible?: boolean;\n renderWhenDestroyed?: boolean;\n cmdIcon?: number | null;\n explosion?: number | null;\n underwaterExplosion?: number | null;\n debris?: number | null;\n inheritEnergyFromMount?: boolean;\n firstPersonOnly?: boolean;\n useEyePoint?: boolean;\n shieldEffectLifetimeMS?: number;\n shieldEffectScale?: Vec3;\n hudImages?: HudImageEntry[];\n}\n\nexport interface ShapeBaseImageDataBlock extends GameBaseDataBlock {\n crc?: number;\n shapeName?: string;\n mountPoint?: number;\n offset?: AffineTransform;\n firstPerson?: boolean;\n mass?: number;\n usesEnergy?: boolean;\n minEnergy?: number;\n hasFlash?: boolean;\n projectile?: number | null;\n muzzleFlash?: number | null;\n isSeeker?: boolean;\n seekerRadius?: number;\n maxSeekAngle?: number;\n seekerLockTime?: number;\n seekerFreeTime?: number;\n isTargetLockRequired?: boolean;\n maxLockRange?: number;\n cloakable?: boolean;\n lightType?: number;\n lightRadius?: number;\n lightTime?: number;\n lightColor?: Color4;\n shellExitDir?: Vec3;\n shellExitVariance?: number;\n shellVelocity?: number;\n casing?: number | null;\n accuFire?: boolean;\n states?: ImageState[];\n}\n\n// ---------------------------------------------------------------------------\n// Player\n// ---------------------------------------------------------------------------\n\n/**\n * Field names for the movement/jet/splash sections are binary-verified\n * against Tribes2.exe (build 25034) initPersistFields offsets — the\n * retail struct layout differs from the SVN engine source.\n */\nexport interface PlayerDataBlock extends ShapeBaseDataBlock {\n renderFirstPerson?: boolean;\n minLookAngle?: number;\n maxLookAngle?: number;\n maxFreelookAngle?: number;\n maxTimeScale?: number;\n maxStepHeight?: number;\n jetForce?: number;\n underwaterJetForce?: number;\n underwaterVertJetFactor?: number;\n /** Energy drained per 32ms tick while jetting. */\n jetEnergyDrain?: number;\n underwaterJetEnergyDrain?: number;\n /** Jets refuse to fire below this energy level. */\n minJetEnergy?: number;\n maxJetForwardSpeed?: number;\n maxJetHorizontalPercentage?: number;\n jetEmitter?: number | null;\n jetEffect?: number;\n runForce?: number;\n runEnergyDrain?: number;\n minRunEnergy?: number;\n maxForwardSpeed?: number;\n maxBackwardSpeed?: number;\n maxSideSpeed?: number;\n maxUnderwaterForwardSpeed?: number;\n maxUnderwaterBackwardSpeed?: number;\n maxUnderwaterSideSpeed?: number;\n runSurfaceAngle?: number;\n recoverDelay?: number;\n recoverRunForceScale?: number;\n jumpForce?: number;\n jumpEnergyDrain?: number;\n minJumpEnergy?: number;\n minJumpSpeed?: number;\n maxJumpSpeed?: number;\n jumpSurfaceAngle?: number;\n jumpDelay?: number;\n horizMaxSpeed?: number;\n horizResistSpeed?: number;\n horizResistFactor?: number;\n upMaxSpeed?: number;\n upResistSpeed?: number;\n upResistFactor?: number;\n splashVelocity?: number;\n splashAngle?: number;\n splashFreqMod?: number;\n splashVelEpsilon?: number;\n bubbleEmitTime?: number;\n mediumSplashSoundVelocity?: number;\n hardSplashSoundVelocity?: number;\n exitSplashSoundVelocity?: number;\n footstepSplashHeight?: number;\n minImpactSpeed?: number;\n sounds?: (number | null)[];\n boxSize?: Vec3;\n footPuffEmitter?: number | null;\n footPuffNumParts?: number;\n footPuffRadius?: number;\n decalData?: number | null;\n decalOffset?: number;\n dustEmitter?: number | null;\n splash?: number | null;\n splashEmitters?: (number | null)[];\n groundImpactMinSpeed?: number;\n groundImpactShakeFreq?: Vec3;\n groundImpactShakeAmp?: Vec3;\n groundImpactShakeDuration?: number;\n groundImpactShakeFalloff?: number;\n boundingRadius?: number;\n moveBubbleSize?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Vehicles\n// ---------------------------------------------------------------------------\n\nexport interface VehicleDataBlock extends ShapeBaseDataBlock {\n bodyRestitution?: number;\n bodyFriction?: number;\n impactSounds?: (number | null)[];\n minImpactSpeed?: number;\n softImpactSpeed?: number;\n hardImpactSpeed?: number;\n minRollSpeed?: number;\n maxSteeringAngle?: number;\n maxDrag?: number;\n minDrag?: number;\n cameraOffset?: number;\n cameraLag?: number;\n jetForce?: number;\n jetEnergyDrain?: number;\n minJetEnergy?: number;\n integration?: number;\n collisionTol?: number;\n massCenter?: number;\n exitSplashSoundVelocity?: number;\n softSplashSoundVelocity?: number;\n mediumSplashSoundVelocity?: number;\n hardSplashSoundVelocity?: number;\n waterSounds?: (number | null)[];\n dustEmitter?: number | null;\n damageEmitters?: (number | null)[];\n splashEmitters?: (number | null)[];\n damageEmitterOffset0?: Vec3;\n damageEmitterOffset1?: Vec3;\n damageLevelTolerance0?: number;\n damageLevelTolerance1?: number;\n splashFreqMod?: number;\n splashVelEpsilon?: number;\n collDamageThresholdVel?: number;\n collDamageMultiplier?: number;\n}\n\nexport interface FlyingVehicleDataBlock extends VehicleDataBlock {\n jetActivateSound?: number | null;\n jetDeactivateSound?: number | null;\n jetEmitters?: (number | null)[];\n maneuveringForce?: number;\n horizontalSurfaceForce?: number;\n verticalSurfaceForce?: number;\n autoInputDamping?: number;\n steeringForce?: number;\n steeringRollForce?: number;\n rollForce?: number;\n autoAngularForce?: number;\n rotationalDrag?: number;\n maxAutoSpeed?: number;\n autoLinearForce?: number;\n hoverHeight?: number;\n createHoverHeight?: number;\n minTrailSpeed?: number;\n vertThrustMultiple?: number;\n maxForwardSpeed?: number;\n}\n\nexport interface HoverVehicleDataBlock extends VehicleDataBlock {\n dragForce?: number;\n mainThrustForce?: number;\n reverseThrustForce?: number;\n strafeThrustForce?: number;\n turboFactor?: number;\n stabLenMin?: number;\n stabLenMax?: number;\n stabSpringConstant?: number;\n stabDampingConstant?: number;\n gyroDrag?: number;\n normalForce?: number;\n restorativeForce?: number;\n steeringForce?: number;\n rollForce?: number;\n pitchForce?: number;\n floatingThrustFactor?: number;\n brakingForce?: number;\n dustTrailOffset?: Vec3;\n dustTrailFreqMod?: number;\n triggerTrailHeight?: number;\n floatSound?: number | null;\n thrustSound?: number | null;\n turboSound?: number | null;\n jetEmitters?: (number | null)[];\n dustTrailEmitter?: number | null;\n mainThrustEmitterFactor?: number;\n strafeThrustEmitterFactor?: number;\n reverseThrustEmitterFactor?: number;\n}\n\nexport interface WheeledVehicleDataBlock extends VehicleDataBlock {\n tireRadius?: number;\n tireStaticFriction?: number;\n tireKineticFriction?: number;\n tireRestitution?: number;\n tireLateralForce?: number;\n tireLateralDamping?: number;\n tireLateralRelaxation?: number;\n tireLongitudinalForce?: number;\n tireLongitudinalDamping?: number;\n tireEmitter?: number | null;\n jetSound?: number | null;\n engineSound?: number | null;\n squealSound?: number | null;\n wadeSound?: number | null;\n spring?: number;\n springDamping?: number;\n springLength?: number;\n brakeTorque?: number;\n engineTorque?: number;\n engineBrake?: number;\n maxWheelSpeed?: number;\n steeringAngle?: number;\n steeringReturn?: number;\n steeringDamping?: number;\n powerSteeringFactor?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Static shapes and turrets\n// ---------------------------------------------------------------------------\n\nexport interface StaticShapeDataBlock extends ShapeBaseDataBlock {\n noIndividualDamage?: boolean;\n dynamicTypeField?: number;\n}\n\nexport interface TurretDataBlock extends StaticShapeDataBlock {\n thetaMin?: number;\n thetaMax?: number;\n thetaNull?: number;\n neverUpdateControl?: boolean;\n primaryAxis?: number;\n maxCapacitorEnergy?: number;\n capacitorRechargeRate?: number;\n}\n\nexport interface TurretImageDataBlock extends ShapeBaseImageDataBlock {\n activationMS?: number;\n deactivateDelayMS?: number;\n degPerSecTheta?: number;\n degPerSecPhi?: number;\n dontFireInsideDamageRadius?: boolean;\n damageRadius?: number;\n useCapacitor?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Items\n// ---------------------------------------------------------------------------\n\nexport interface ItemDataBlock extends ShapeBaseDataBlock {\n friction?: number;\n elasticity?: number;\n sticky?: boolean;\n gravityMod?: number;\n maxVelocity?: number;\n lightType?: number;\n lightColor?: Color4;\n lightTime?: number;\n lightRadius?: number;\n lightOnlyStatic?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Projectiles\n// ---------------------------------------------------------------------------\n\nexport interface ProjectileDataBlock extends GameBaseDataBlock {\n projectileShapeName?: string;\n faceViewerLinkTime?: number;\n lifetime?: number;\n faceViewer?: boolean;\n scale?: Vec3;\n baseEmitter?: number | null;\n delayEmitter?: number | null;\n bubbleEmitter?: number | null;\n explosion?: number | null;\n underwaterExplosion?: number | null;\n splash?: number | null;\n sound?: number | null;\n wetFireSound?: number | null;\n fireSound?: number | null;\n decals?: (number | null)[];\n lightRadius?: number;\n lightColor?: Color3 | Color4;\n underwaterLightColor?: Color3;\n explodeOnWaterImpact?: boolean;\n depthTolerance?: number;\n}\n\n/**\n * Field names binary-verified against Tribes2.exe (build 25034):\n * initPersistFields FUN_0062b3c0 / unpackData FUN_0062bea0.\n */\nexport interface LinearProjectileDataBlock extends ProjectileDataBlock {\n dryVelocity?: number;\n wetVelocity?: number;\n /** Milliseconds, tick-rounded (32ms) by the engine's onAdd. */\n fizzleTimeMS?: number;\n /** Milliseconds, tick-rounded (32ms) by the engine's onAdd. */\n lifetimeMS?: number;\n explodeOnDeath?: boolean;\n /** Degrees, 0–90. */\n reflectOnWaterImpactAngle?: number;\n /** Degrees, 0–90. */\n deflectionOnWaterImpact?: number;\n fizzleUnderwaterMS?: number;\n activateDelayMS?: number;\n doDynamicClientHits?: boolean;\n}\n\nexport interface GrenadeProjectileDataBlock extends ProjectileDataBlock {\n armingDelayMS?: number;\n muzzleVelocity?: number;\n grenadeElasticity?: number;\n grenadeFriction?: number;\n drag?: number;\n density?: number;\n gravityMod?: number;\n lifetimeMS?: number;\n}\n\nexport interface SeekerProjectileDataBlock extends ProjectileDataBlock {\n lifetimeMS?: number;\n muzzleVelocity?: number;\n turningSpeed?: number;\n proximityRadius?: number;\n terrainAvoidanceSpeed?: number;\n terrainScanAhead?: number;\n terrainHeightFail?: number;\n terrainAvoidanceRadius?: number;\n flareDistance?: number;\n flareAngle?: number;\n useFlechette?: boolean;\n maxVelocity?: number;\n acceleration?: number;\n flechetteDelayMs?: number;\n exhaustTimeMs?: number;\n exhaustNodeName?: string;\n casingShapeName?: string;\n casingDebris?: number | null;\n puffEmitter?: number | null;\n exhaustEmitter?: number | null;\n}\n\nexport interface SniperProjectileDataBlock extends ProjectileDataBlock {\n maxRifleRange?: number;\n rifleHeadMultiplier?: number;\n beamColor?: Color4;\n fadeTime?: number;\n startBeamWidth?: number;\n endBeamWidth?: number;\n pulseBeamWidth?: number;\n beamFlareAngle?: number;\n minFlareSize?: number;\n maxFlareSize?: number;\n pulseSpeed?: number;\n pulseLength?: number;\n textures?: string[];\n}\n\nexport interface ShockLanceProjectileDataBlock extends ProjectileDataBlock {\n zapDuration?: number;\n boltLength?: number;\n numParts?: number;\n lightningFreq?: number;\n lightningDensity?: number;\n lightningAmp?: number;\n lightningWidth?: number;\n shockwave?: number | null;\n startWidth?: number[];\n endWidth?: number[];\n boltSpeed?: number[];\n texWrap?: number[];\n textures?: string[];\n emitter?: number | null;\n}\n\nexport interface ELFProjectileDataBlock extends ProjectileDataBlock {\n beamRange?: number;\n beamDrainRate?: number;\n muzzleVelocity?: number;\n proximityRadius?: number;\n startWidth?: number;\n endWidth?: number;\n mainBeamTexture?: string;\n innerBeamTexture?: string;\n flareTexture?: string;\n hitEmitter?: number | null;\n}\n\nexport interface RepairProjectileDataBlock extends ProjectileDataBlock {\n beamRange?: number;\n beamRepairRate?: number;\n muzzleVelocity?: number;\n proximityRadius?: number;\n startWidth?: number;\n endWidth?: number;\n startBeamWidth?: number;\n endBeamWidth?: number;\n mainBeamTexture?: string;\n innerBeamTexture?: string;\n}\n\nexport interface TargetProjectileDataBlock extends ProjectileDataBlock {\n maxRifleRange?: number;\n beamColor?: Color4;\n startBeamWidth?: number;\n pulseBeamWidth?: number;\n beamFlareAngle?: number;\n minFlareSize?: number;\n maxFlareSize?: number;\n pulseSpeed?: number;\n pulseLength?: number;\n textures?: string[];\n}\n\n/**\n * Field names binary-verified against Tribes2.exe (build 25034):\n * initPersistFields FUN_0063fcb0 / unpackData FUN_00640160.\n */\nexport interface TracerProjectileDataBlock extends LinearProjectileDataBlock {\n tracerLength?: number;\n tracerWidth?: number;\n tracerMinPixels?: number;\n /** Registered as a bool in the engine despite the name. */\n tracerAlpha?: boolean;\n tracerColor?: Color4;\n /** Cross fades in when the view angle cosine exceeds this. */\n crossViewAng?: number;\n crossSize?: number;\n renderCross?: boolean;\n tracerTex0?: string;\n tracerTex1?: string;\n}\n\nexport interface EnergyProjectileDataBlock extends GrenadeProjectileDataBlock {\n energyDrainPerSecond?: number;\n energyMinDrain?: number;\n beamWidth?: number;\n beamRange?: number;\n numSegments?: number;\n texRepeat?: number;\n beamFlareAngle?: number;\n beamTexture?: string;\n flareTexture?: string;\n}\n\nexport interface LinearFlareProjectileDataBlock\n extends LinearProjectileDataBlock {\n numFlares?: number;\n flareColor?: Color4;\n flareTexture?: string;\n smokeTexture?: string;\n size?: number;\n flareModTexture?: number;\n smokeSize?: number;\n}\n\nexport interface BombProjectileDataBlock extends GrenadeProjectileDataBlock {\n smokeDist?: number;\n noSmoke?: number;\n boomTime?: number;\n casingDist?: number;\n smokeCushion?: number;\n noSmokeCounter?: number;\n smokeTexture?: string;\n bombTexture?: string;\n}\n\nexport interface FlareProjectileDataBlock extends GrenadeProjectileDataBlock {\n size?: number;\n useLensFlare?: boolean;\n flareTexture?: string;\n lensFlareTexture?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Effects: explosions, debris, splash, shockwave\n// ---------------------------------------------------------------------------\n\nexport interface ExplosionDataBlock extends GameBaseDataBlock {\n dtsFileName?: string;\n soundProfile?: number | null;\n particleEmitter?: number | null;\n particleDensity?: number;\n particleRadius?: number;\n faceViewer?: boolean;\n explosionScale?: Vec3;\n playSpeed?: number;\n debrisThetaMin?: number;\n debrisThetaMax?: number;\n debrisPhiMin?: number;\n debrisPhiMax?: number;\n debrisMinVelocity?: number;\n debrisMaxVelocity?: number;\n debrisNum?: number;\n debrisVariance?: number;\n delayMS?: number;\n delayVariance?: number;\n lifetimeMS?: number;\n lifetimeVariance?: number;\n offset?: number;\n shakeCamera?: boolean;\n hasLight?: boolean;\n camShakeFreq?: Vec3;\n camShakeAmp?: Vec3;\n camShakeDuration?: number;\n camShakeRadius?: number;\n camShakeFalloff?: number;\n shockwave?: number | null;\n debris?: number | null;\n emitters?: (number | null)[];\n subExplosions?: (number | null)[];\n times?: number[];\n sizes?: Vec3[];\n}\n\nexport interface DebrisDataBlock extends GameBaseDataBlock {\n elasticity?: number;\n friction?: number;\n numBounces?: number;\n bounceVariance?: number;\n minSpinSpeed?: number;\n maxSpinSpeed?: number;\n render2D?: boolean;\n explodeOnMaxBounce?: boolean;\n staticOnMaxBounce?: boolean;\n snapOnMaxBounce?: boolean;\n lifetime?: number;\n lifetimeVariance?: number;\n minSpinSpeed_dup?: number;\n maxSpinSpeed_dup?: number;\n velocity?: number;\n velocityVariance?: number;\n useRadiusMass?: boolean;\n fade?: boolean;\n baseRadius?: number;\n gravModifier?: number;\n terminalVelocity?: number;\n ignoreWater?: boolean;\n shapeFileName?: string;\n skinName?: string;\n emitter0?: number | null;\n emitter1?: number | null;\n explosion?: number | null;\n}\n\nexport interface SplashDataBlock extends GameBaseDataBlock {\n scale?: Vec3;\n delayMS?: number;\n delayVariance?: number;\n lifetimeMS?: number;\n lifetimeVariance?: number;\n width?: number;\n numSegments?: number;\n velocity?: number;\n height?: number;\n acceleration?: number;\n texWrap?: number;\n texFactor?: number;\n ejectionFreq?: number;\n ejectionAngle?: number;\n ringLifetime?: number;\n startRadius?: number;\n explosion?: number | null;\n emitters?: (number | null)[];\n colors?: Color4[];\n times?: number[];\n textureName?: string;\n foamTexture?: string;\n}\n\nexport interface ShockwaveDataBlock extends GameBaseDataBlock {\n scale?: Vec3;\n delayMS?: number;\n delayVariance?: number;\n lifetimeMS?: number;\n lifetimeVariance?: number;\n width?: number;\n numSegments?: number;\n numVertSegments?: number;\n velocity?: number;\n height?: number;\n verticalCurve?: number;\n acceleration?: number;\n texWrap?: number;\n is2D?: boolean;\n orientToNormal?: boolean;\n mapToTerrain?: boolean;\n renderBottom?: boolean;\n renderSquare?: boolean;\n emitters?: (number | null)[];\n colors?: Color4[];\n times?: number[];\n textureName?: string;\n mapToTexture?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Particles\n// ---------------------------------------------------------------------------\n\nexport interface ParticleEmitterDataBlock extends GameBaseDataBlock {\n ejectionPeriodMS?: number;\n periodVarianceMS?: number;\n ejectionVelocity?: number;\n velocityVariance?: number;\n ejectionOffset?: number;\n thetaMin?: number;\n thetaMax?: number;\n phiReferenceVel?: number;\n phiVariance?: number;\n overrideAdvances?: boolean;\n orientParticles?: boolean;\n orientOnVelocity?: boolean;\n lifetimeMS?: number;\n lifetimeVarianceMS?: number;\n useEmitterSizes?: boolean;\n useEmitterColors?: boolean;\n particles?: (number | null)[];\n}\n\nexport interface ParticleDataBlock extends GameBaseDataBlock {\n dragCoefficient?: number;\n windCoefficient?: number;\n gravityCoefficient?: number;\n inheritedVelFactor?: number;\n constantAcceleration?: number;\n lifetimeMS?: number;\n lifetimeVarianceMS?: number;\n spinSpeed?: number;\n spinRandomMin?: number;\n spinRandomMax?: number;\n useInvAlpha?: boolean;\n keys?: ParticleKey[];\n textures?: string[];\n}\n\n// ---------------------------------------------------------------------------\n// Audio\n// ---------------------------------------------------------------------------\n\nexport interface AudioDescriptionDataBlock extends SimDataBlock {\n volume?: number;\n isLooping?: boolean;\n loopCount?: number;\n minLoopGap?: number;\n maxLoopGap?: number;\n is3D?: boolean;\n referenceDistance?: number;\n maxDistance?: number;\n coneInsideAngle?: number;\n coneOutsideAngle?: number;\n coneOutsideVolume?: number;\n coneVector?: Vec3;\n environmentLevel?: number;\n type?: number;\n}\n\nexport interface AudioProfileDataBlock extends SimDataBlock {\n description?: number | null;\n environment?: number | null;\n sampleEnvironment?: number | null;\n filename?: string;\n}\n\nexport interface AudioEnvironmentDataBlock extends SimDataBlock {\n useRoom?: boolean;\n room?: number;\n roomHF?: number;\n reflections?: number;\n reverb?: number;\n roomRolloffFactor?: number;\n decayTime?: number;\n decayHFRatio?: number;\n reflectionsDelay?: number;\n reverbDelay?: number;\n roomVolume?: number;\n effectVolume?: number;\n damping?: number;\n environmentSize?: number;\n environmentDiffusion?: number;\n flags?: number;\n effectVolumeHF?: number;\n}\n\nexport interface AudioSampleEnvironmentDataBlock extends SimDataBlock {\n direct?: number;\n directHF?: number;\n room?: number;\n roomHF?: number;\n obstruction?: number;\n obstructionLFRatio?: number;\n occlusion?: number;\n occlusionLFRatio?: number;\n occlusionRoomRatio?: number;\n roomRolloff?: number;\n airAbsorption?: number;\n outsideVolumeHF?: number;\n flags?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Misc / utility datablocks\n// ---------------------------------------------------------------------------\n\nexport interface DecalDataBlock extends SimDataBlock {\n sizeX?: number;\n sizeY?: number;\n textureName?: string;\n}\n\nexport interface CameraDataBlock extends ShapeBaseDataBlock {}\n\nexport interface SensorDataBlock extends SimDataBlock {}\n\nexport interface TriggerDataBlock extends SimDataBlock {\n tickPeriodMS?: number;\n}\n\nexport interface ForceFieldBareDataBlock extends SimDataBlock {\n fadeMS?: number;\n baseTranslucency?: number;\n powerOffTranslucency?: number;\n fadeInOnly?: boolean;\n triggerEnable?: boolean;\n color1?: Color4;\n color2?: Color4;\n framesPerSec?: number;\n numFrames?: number;\n scrollSpeed?: number;\n umapping?: number;\n vmapping?: number;\n texture0?: string;\n texture1?: string;\n texture2?: string;\n texture3?: string;\n texture4?: string;\n}\n\nexport interface ParticleEmissionDummyDataBlock extends SimDataBlock {\n timeMultiple?: number;\n}\n\nexport interface CommanderIconDataBlock extends SimDataBlock {\n baseImage?: string;\n activeImage?: string;\n inactiveImage?: string;\n selectImage?: string;\n hilightImage?: string;\n}\n\nexport interface PrecipitationDataBlock extends SimDataBlock {\n soundProfile?: number | null;\n numDrops?: number;\n maxSize?: number;\n materialList?: string;\n sizeX?: number;\n sizeY?: number;\n movingBoxPer?: number;\n divHeightVal?: number;\n sizeBigBox?: number;\n topBoxSpeed?: number;\n frontBoxSpeed?: number;\n topBoxDrawPer?: number;\n bottomDrawHeight?: number;\n skipIfPer?: number;\n bottomSpeedPer?: number;\n frontSpeedPer?: number;\n frontRadiusPer?: number;\n}\n\nexport interface FireballAtmosphereDataBlock extends SimDataBlock {\n emitter?: number | null;\n}\n\nexport interface LightningDataBlock extends SimDataBlock {\n strikeSounds?: (number | null)[];\n strikeTextures?: string[];\n thunderSound?: number | null;\n}\n\n// ---------------------------------------------------------------------------\n// Station effects\n// ---------------------------------------------------------------------------\n\nexport interface StationFXVehicleDataBlock extends SimDataBlock {\n glowTopHeight?: number;\n glowBottomHeight?: number;\n glowTopRadius?: number;\n glowBottomRadius?: number;\n numGlowSegments?: number;\n glowFadeTime?: number;\n armLightDelay?: number;\n armLightLifetime?: number;\n armLightFadeTime?: number;\n lifetime?: number;\n numArcSegments?: number;\n sphereColor?: Color4;\n spherePhiSegments?: number;\n sphereThetaSegments?: number;\n sphereRadius?: number;\n scale?: Vec3;\n glowTexture?: string;\n padTexture00?: string;\n padTexture01?: string;\n padTexture10?: string;\n padTexture11?: string;\n padTexture20?: string;\n padTexture21?: string;\n padTexture30?: string;\n padTexture31?: string;\n lightStartColor?: string;\n lightEndColor?: string;\n}\n\nexport interface StationFXPersonalDataBlock extends SimDataBlock {\n glowTopRadius?: number;\n glowBottomRadius?: number;\n glowTopHeight?: number;\n glowBottomHeight?: number;\n numGlowSegments?: number;\n numGlowPanels?: number;\n topAlpha?: number;\n bottomAlpha?: number;\n glowSpeed?: number;\n scrollSpeed?: number;\n glowTexture?: string;\n padTexture?: string;\n lightStartColor?: string;\n lightEndColor?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Miscellaneous game datablocks\n// ---------------------------------------------------------------------------\n\nexport interface CannedChatItemDataBlock extends SimDataBlock {\n chatText?: string;\n}\n\nexport interface MissionMarkerDataBlock extends ShapeBaseDataBlock {}\n\nexport interface TSShapeConstructorDataBlock extends SimDataBlock {\n shape?: string;\n sequences?: string[];\n}\n\nexport interface EffectProfileDataBlock extends SimDataBlock {\n minDistance?: number;\n maxDistance?: number;\n audioScale?: number;\n directional?: boolean;\n effectName?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Jet / running light effects\n// ---------------------------------------------------------------------------\n\nexport interface JetEffectDataBlock extends GameBaseDataBlock {\n coolColor?: Color4;\n hotColor?: Color4;\n activateTime?: number;\n deactivateTime?: number;\n length?: number;\n width?: number;\n speed?: number;\n stretch?: number;\n yOffset?: number;\n texture?: string;\n}\n\nexport interface RunningLightDataBlock extends GameBaseDataBlock {\n radius?: number;\n color?: Color4;\n type?: number;\n length?: number;\n nodeName?: string;\n direction?: Vec3;\n offset?: Vec3;\n texture?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dataBlockDataTypes.js","sourceRoot":"","sources":["../src/dataBlockDataTypes.ts"],"names":[],"mappings":"","sourcesContent":["import type { Vec3, Color3, Color4, AffineTransform } from \"./dataTypes.js\";\n\n// ---------------------------------------------------------------------------\n// Sub-structures\n// ---------------------------------------------------------------------------\n\nexport interface HudImageEntry {\n friendlyName: string;\n enemyName?: string;\n renderCenter: boolean;\n renderModulated: boolean;\n renderAlways: boolean;\n renderDistance: boolean;\n renderName: boolean;\n}\n\nexport interface ImageState {\n name: string;\n transitionOnAmmo: number;\n transitionOnNoAmmo: number;\n transitionOnTarget: number;\n transitionOnNoTarget: number;\n transitionOnWet: number;\n transitionOnNotWet: number;\n transitionOnTriggerUp: number;\n transitionOnTriggerDown: number;\n transitionOnTimeout: number;\n transitionGeneric0In: number;\n transitionGeneric0Out: number;\n timeoutValue?: number;\n waitForTimeout: boolean;\n fire: boolean;\n ejectShell: boolean;\n scaleAnimation: boolean;\n direction: boolean;\n reload: boolean;\n energyDrain?: number;\n loaded: number;\n spin: number;\n recoil: number;\n sequence?: number;\n sequenceVis?: number;\n flashSequence: boolean;\n ignoreLoadedForReady: boolean;\n emitter: number | null;\n emitterTime?: number;\n emitterNode?: number;\n sound: number | null;\n}\n\nexport interface ParticleKey {\n r: number;\n g: number;\n b: number;\n a: number;\n size: number;\n time: number;\n}\n\n// ---------------------------------------------------------------------------\n// Base DataBlock types\n// ---------------------------------------------------------------------------\n\nexport interface SimDataBlock {\n [key: string]: unknown;\n}\n\nexport interface GameBaseDataBlock extends SimDataBlock {}\n\n// ---------------------------------------------------------------------------\n// ShapeBase hierarchy\n// ---------------------------------------------------------------------------\n\nexport interface ShapeBaseDataBlock extends GameBaseDataBlock {\n crc?: number;\n shapeName?: string;\n mass?: number;\n drag?: number;\n density?: number;\n maxEnergy?: number;\n cameraMaxDist?: number;\n cameraMinDist?: number;\n cameraDefaultFov?: number;\n cameraMinFov?: number;\n cameraMaxFov?: number;\n debrisShapeName?: string;\n sensorRadius?: number;\n sensorColor?: Color4;\n heat?: number;\n cmdCategory?: string;\n cmdMiniIconName?: string;\n canControl?: boolean;\n canObserve?: boolean;\n observeThroughObject?: boolean;\n emap?: boolean;\n isInvincible?: boolean;\n renderWhenDestroyed?: boolean;\n cmdIcon?: number | null;\n explosion?: number | null;\n underwaterExplosion?: number | null;\n debris?: number | null;\n inheritEnergyFromMount?: boolean;\n firstPersonOnly?: boolean;\n useEyePoint?: boolean;\n shieldEffectLifetimeMS?: number;\n shieldEffectScale?: Vec3;\n hudImages?: HudImageEntry[];\n}\n\nexport interface ShapeBaseImageDataBlock extends GameBaseDataBlock {\n crc?: number;\n shapeName?: string;\n mountPoint?: number;\n offset?: AffineTransform;\n firstPerson?: boolean;\n mass?: number;\n usesEnergy?: boolean;\n minEnergy?: number;\n hasFlash?: boolean;\n projectile?: number | null;\n muzzleFlash?: number | null;\n isSeeker?: boolean;\n seekerRadius?: number;\n maxSeekAngle?: number;\n seekerLockTime?: number;\n seekerFreeTime?: number;\n isTargetLockRequired?: boolean;\n maxLockRange?: number;\n cloakable?: boolean;\n lightType?: number;\n lightRadius?: number;\n lightTime?: number;\n lightColor?: Color4;\n shellExitDir?: Vec3;\n shellExitVariance?: number;\n shellVelocity?: number;\n casing?: number | null;\n accuFire?: boolean;\n states?: ImageState[];\n}\n\n// ---------------------------------------------------------------------------\n// Player\n// ---------------------------------------------------------------------------\n\n/**\n * Field names for the movement/jet/splash sections are binary-verified\n * against Tribes2.exe (build 25034) initPersistFields offsets — the\n * retail struct layout differs from the SVN engine source.\n */\nexport interface PlayerDataBlock extends ShapeBaseDataBlock {\n renderFirstPerson?: boolean;\n minLookAngle?: number;\n maxLookAngle?: number;\n maxFreelookAngle?: number;\n maxTimeScale?: number;\n maxStepHeight?: number;\n jetForce?: number;\n underwaterJetForce?: number;\n underwaterVertJetFactor?: number;\n /** Energy drained per 32ms tick while jetting. */\n jetEnergyDrain?: number;\n underwaterJetEnergyDrain?: number;\n /** Jets refuse to fire below this energy level. */\n minJetEnergy?: number;\n maxJetForwardSpeed?: number;\n maxJetHorizontalPercentage?: number;\n jetEmitter?: number | null;\n jetEffect?: number;\n runForce?: number;\n runEnergyDrain?: number;\n minRunEnergy?: number;\n maxForwardSpeed?: number;\n maxBackwardSpeed?: number;\n maxSideSpeed?: number;\n maxUnderwaterForwardSpeed?: number;\n maxUnderwaterBackwardSpeed?: number;\n maxUnderwaterSideSpeed?: number;\n runSurfaceAngle?: number;\n recoverDelay?: number;\n recoverRunForceScale?: number;\n jumpForce?: number;\n jumpEnergyDrain?: number;\n minJumpEnergy?: number;\n minJumpSpeed?: number;\n maxJumpSpeed?: number;\n jumpSurfaceAngle?: number;\n jumpDelay?: number;\n horizMaxSpeed?: number;\n horizResistSpeed?: number;\n horizResistFactor?: number;\n upMaxSpeed?: number;\n upResistSpeed?: number;\n upResistFactor?: number;\n splashVelocity?: number;\n splashAngle?: number;\n splashFreqMod?: number;\n splashVelEpsilon?: number;\n bubbleEmitTime?: number;\n mediumSplashSoundVelocity?: number;\n hardSplashSoundVelocity?: number;\n exitSplashSoundVelocity?: number;\n footstepSplashHeight?: number;\n minImpactSpeed?: number;\n sounds?: (number | null)[];\n boxSize?: Vec3;\n footPuffEmitter?: number | null;\n footPuffNumParts?: number;\n footPuffRadius?: number;\n decalData?: number | null;\n decalOffset?: number;\n dustEmitter?: number | null;\n splash?: number | null;\n splashEmitters?: (number | null)[];\n groundImpactMinSpeed?: number;\n groundImpactShakeFreq?: Vec3;\n groundImpactShakeAmp?: Vec3;\n groundImpactShakeDuration?: number;\n groundImpactShakeFalloff?: number;\n /** Heat signature rates (Tribes 2; retail player.cs: 1/4 and 1/3). */\n heatDecayPerSec?: number;\n heatIncreasePerSec?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Vehicles\n// ---------------------------------------------------------------------------\n\nexport interface VehicleDataBlock extends ShapeBaseDataBlock {\n bodyRestitution?: number;\n bodyFriction?: number;\n impactSounds?: (number | null)[];\n minImpactSpeed?: number;\n softImpactSpeed?: number;\n hardImpactSpeed?: number;\n minRollSpeed?: number;\n maxSteeringAngle?: number;\n maxDrag?: number;\n minDrag?: number;\n cameraOffset?: number;\n cameraLag?: number;\n jetForce?: number;\n jetEnergyDrain?: number;\n minJetEnergy?: number;\n integration?: number;\n collisionTol?: number;\n massCenter?: number;\n exitSplashSoundVelocity?: number;\n softSplashSoundVelocity?: number;\n mediumSplashSoundVelocity?: number;\n hardSplashSoundVelocity?: number;\n waterSounds?: (number | null)[];\n dustEmitter?: number | null;\n damageEmitters?: (number | null)[];\n splashEmitters?: (number | null)[];\n damageEmitterOffset0?: Vec3;\n damageEmitterOffset1?: Vec3;\n damageLevelTolerance0?: number;\n damageLevelTolerance1?: number;\n splashFreqMod?: number;\n splashVelEpsilon?: number;\n collDamageThresholdVel?: number;\n collDamageMultiplier?: number;\n}\n\nexport interface FlyingVehicleDataBlock extends VehicleDataBlock {\n jetActivateSound?: number | null;\n jetDeactivateSound?: number | null;\n jetEmitters?: (number | null)[];\n maneuveringForce?: number;\n horizontalSurfaceForce?: number;\n verticalSurfaceForce?: number;\n autoInputDamping?: number;\n steeringForce?: number;\n steeringRollForce?: number;\n rollForce?: number;\n autoAngularForce?: number;\n rotationalDrag?: number;\n maxAutoSpeed?: number;\n autoLinearForce?: number;\n hoverHeight?: number;\n createHoverHeight?: number;\n minTrailSpeed?: number;\n vertThrustMultiple?: number;\n maxForwardSpeed?: number;\n}\n\nexport interface HoverVehicleDataBlock extends VehicleDataBlock {\n dragForce?: number;\n mainThrustForce?: number;\n reverseThrustForce?: number;\n strafeThrustForce?: number;\n turboFactor?: number;\n stabLenMin?: number;\n stabLenMax?: number;\n stabSpringConstant?: number;\n stabDampingConstant?: number;\n gyroDrag?: number;\n normalForce?: number;\n restorativeForce?: number;\n steeringForce?: number;\n rollForce?: number;\n pitchForce?: number;\n floatingThrustFactor?: number;\n brakingForce?: number;\n dustTrailOffset?: Vec3;\n dustTrailFreqMod?: number;\n triggerTrailHeight?: number;\n floatSound?: number | null;\n thrustSound?: number | null;\n turboSound?: number | null;\n jetEmitters?: (number | null)[];\n dustTrailEmitter?: number | null;\n mainThrustEmitterFactor?: number;\n strafeThrustEmitterFactor?: number;\n reverseThrustEmitterFactor?: number;\n}\n\nexport interface WheeledVehicleDataBlock extends VehicleDataBlock {\n tireRadius?: number;\n tireStaticFriction?: number;\n tireKineticFriction?: number;\n tireRestitution?: number;\n tireLateralForce?: number;\n tireLateralDamping?: number;\n tireLateralRelaxation?: number;\n tireLongitudinalForce?: number;\n tireLongitudinalDamping?: number;\n tireEmitter?: number | null;\n jetSound?: number | null;\n engineSound?: number | null;\n squealSound?: number | null;\n wadeSound?: number | null;\n spring?: number;\n springDamping?: number;\n springLength?: number;\n brakeTorque?: number;\n engineTorque?: number;\n engineBrake?: number;\n maxWheelSpeed?: number;\n steeringAngle?: number;\n steeringReturn?: number;\n steeringDamping?: number;\n powerSteeringFactor?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Static shapes and turrets\n// ---------------------------------------------------------------------------\n\nexport interface StaticShapeDataBlock extends ShapeBaseDataBlock {\n noIndividualDamage?: boolean;\n dynamicTypeField?: number;\n}\n\nexport interface TurretDataBlock extends StaticShapeDataBlock {\n thetaMin?: number;\n thetaMax?: number;\n thetaNull?: number;\n neverUpdateControl?: boolean;\n primaryAxis?: number;\n maxCapacitorEnergy?: number;\n capacitorRechargeRate?: number;\n}\n\nexport interface TurretImageDataBlock extends ShapeBaseImageDataBlock {\n activationMS?: number;\n deactivateDelayMS?: number;\n degPerSecTheta?: number;\n degPerSecPhi?: number;\n dontFireInsideDamageRadius?: boolean;\n damageRadius?: number;\n useCapacitor?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Items\n// ---------------------------------------------------------------------------\n\nexport interface ItemDataBlock extends ShapeBaseDataBlock {\n friction?: number;\n elasticity?: number;\n sticky?: boolean;\n gravityMod?: number;\n maxVelocity?: number;\n lightType?: number;\n lightColor?: Color4;\n lightTime?: number;\n lightRadius?: number;\n lightOnlyStatic?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Projectiles\n// ---------------------------------------------------------------------------\n\nexport interface ProjectileDataBlock extends GameBaseDataBlock {\n projectileShapeName?: string;\n faceViewerLinkTime?: number;\n lifetime?: number;\n faceViewer?: boolean;\n scale?: Vec3;\n baseEmitter?: number | null;\n delayEmitter?: number | null;\n bubbleEmitter?: number | null;\n explosion?: number | null;\n underwaterExplosion?: number | null;\n splash?: number | null;\n sound?: number | null;\n wetFireSound?: number | null;\n fireSound?: number | null;\n decals?: (number | null)[];\n lightRadius?: number;\n lightColor?: Color3 | Color4;\n underwaterLightColor?: Color3;\n explodeOnWaterImpact?: boolean;\n depthTolerance?: number;\n}\n\n/**\n * Field names binary-verified against Tribes2.exe (build 25034):\n * initPersistFields FUN_0062b3c0 / unpackData FUN_0062bea0.\n */\nexport interface LinearProjectileDataBlock extends ProjectileDataBlock {\n dryVelocity?: number;\n wetVelocity?: number;\n /** Milliseconds, tick-rounded (32ms) by the engine's onAdd. */\n fizzleTimeMS?: number;\n /** Milliseconds, tick-rounded (32ms) by the engine's onAdd. */\n lifetimeMS?: number;\n explodeOnDeath?: boolean;\n /** Degrees, 0–90. */\n reflectOnWaterImpactAngle?: number;\n /** Degrees, 0–90. */\n deflectionOnWaterImpact?: number;\n fizzleUnderwaterMS?: number;\n activateDelayMS?: number;\n doDynamicClientHits?: boolean;\n}\n\nexport interface GrenadeProjectileDataBlock extends ProjectileDataBlock {\n armingDelayMS?: number;\n muzzleVelocity?: number;\n grenadeElasticity?: number;\n grenadeFriction?: number;\n drag?: number;\n density?: number;\n gravityMod?: number;\n lifetimeMS?: number;\n}\n\nexport interface SeekerProjectileDataBlock extends ProjectileDataBlock {\n lifetimeMS?: number;\n muzzleVelocity?: number;\n turningSpeed?: number;\n proximityRadius?: number;\n terrainAvoidanceSpeed?: number;\n terrainScanAhead?: number;\n terrainHeightFail?: number;\n terrainAvoidanceRadius?: number;\n flareDistance?: number;\n flareAngle?: number;\n useFlechette?: boolean;\n maxVelocity?: number;\n acceleration?: number;\n flechetteDelayMs?: number;\n exhaustTimeMs?: number;\n exhaustNodeName?: string;\n casingShapeName?: string;\n casingDebris?: number | null;\n puffEmitter?: number | null;\n exhaustEmitter?: number | null;\n}\n\nexport interface SniperProjectileDataBlock extends ProjectileDataBlock {\n maxRifleRange?: number;\n rifleHeadMultiplier?: number;\n beamColor?: Color4;\n fadeTime?: number;\n startBeamWidth?: number;\n endBeamWidth?: number;\n pulseBeamWidth?: number;\n beamFlareAngle?: number;\n minFlareSize?: number;\n maxFlareSize?: number;\n pulseSpeed?: number;\n pulseLength?: number;\n textures?: string[];\n}\n\nexport interface ShockLanceProjectileDataBlock extends ProjectileDataBlock {\n zapDuration?: number;\n boltLength?: number;\n numParts?: number;\n lightningFreq?: number;\n lightningDensity?: number;\n lightningAmp?: number;\n lightningWidth?: number;\n shockwave?: number | null;\n startWidth?: number[];\n endWidth?: number[];\n boltSpeed?: number[];\n texWrap?: number[];\n textures?: string[];\n emitter?: number | null;\n}\n\nexport interface ELFProjectileDataBlock extends ProjectileDataBlock {\n beamRange?: number;\n beamDrainRate?: number;\n muzzleVelocity?: number;\n proximityRadius?: number;\n startWidth?: number;\n endWidth?: number;\n mainBeamTexture?: string;\n innerBeamTexture?: string;\n flareTexture?: string;\n hitEmitter?: number | null;\n}\n\nexport interface RepairProjectileDataBlock extends ProjectileDataBlock {\n beamRange?: number;\n beamRepairRate?: number;\n muzzleVelocity?: number;\n proximityRadius?: number;\n startWidth?: number;\n endWidth?: number;\n startBeamWidth?: number;\n endBeamWidth?: number;\n mainBeamTexture?: string;\n innerBeamTexture?: string;\n}\n\nexport interface TargetProjectileDataBlock extends ProjectileDataBlock {\n maxRifleRange?: number;\n beamColor?: Color4;\n startBeamWidth?: number;\n pulseBeamWidth?: number;\n beamFlareAngle?: number;\n minFlareSize?: number;\n maxFlareSize?: number;\n pulseSpeed?: number;\n pulseLength?: number;\n textures?: string[];\n}\n\n/**\n * Field names binary-verified against Tribes2.exe (build 25034):\n * initPersistFields FUN_0063fcb0 / unpackData FUN_00640160.\n */\nexport interface TracerProjectileDataBlock extends LinearProjectileDataBlock {\n tracerLength?: number;\n tracerWidth?: number;\n tracerMinPixels?: number;\n /** Registered as a bool in the engine despite the name. */\n tracerAlpha?: boolean;\n tracerColor?: Color4;\n /** Cross fades in when the view angle cosine exceeds this. */\n crossViewAng?: number;\n crossSize?: number;\n renderCross?: boolean;\n tracerTex0?: string;\n tracerTex1?: string;\n}\n\nexport interface EnergyProjectileDataBlock extends GrenadeProjectileDataBlock {\n energyDrainPerSecond?: number;\n energyMinDrain?: number;\n beamWidth?: number;\n beamRange?: number;\n numSegments?: number;\n texRepeat?: number;\n beamFlareAngle?: number;\n beamTexture?: string;\n flareTexture?: string;\n}\n\nexport interface LinearFlareProjectileDataBlock\n extends LinearProjectileDataBlock {\n numFlares?: number;\n flareColor?: Color4;\n flareTexture?: string;\n smokeTexture?: string;\n size?: number;\n flareModTexture?: number;\n smokeSize?: number;\n}\n\nexport interface BombProjectileDataBlock extends GrenadeProjectileDataBlock {\n smokeDist?: number;\n noSmoke?: number;\n boomTime?: number;\n casingDist?: number;\n smokeCushion?: number;\n noSmokeCounter?: number;\n smokeTexture?: string;\n bombTexture?: string;\n}\n\nexport interface FlareProjectileDataBlock extends GrenadeProjectileDataBlock {\n size?: number;\n useLensFlare?: boolean;\n flareTexture?: string;\n lensFlareTexture?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Effects: explosions, debris, splash, shockwave\n// ---------------------------------------------------------------------------\n\nexport interface ExplosionDataBlock extends GameBaseDataBlock {\n dtsFileName?: string;\n soundProfile?: number | null;\n particleEmitter?: number | null;\n particleDensity?: number;\n particleRadius?: number;\n faceViewer?: boolean;\n explosionScale?: Vec3;\n playSpeed?: number;\n debrisThetaMin?: number;\n debrisThetaMax?: number;\n debrisPhiMin?: number;\n debrisPhiMax?: number;\n debrisMinVelocity?: number;\n debrisMaxVelocity?: number;\n debrisNum?: number;\n debrisVariance?: number;\n delayMS?: number;\n delayVariance?: number;\n lifetimeMS?: number;\n lifetimeVariance?: number;\n offset?: number;\n shakeCamera?: boolean;\n hasLight?: boolean;\n camShakeFreq?: Vec3;\n camShakeAmp?: Vec3;\n camShakeDuration?: number;\n camShakeRadius?: number;\n camShakeFalloff?: number;\n shockwave?: number | null;\n debris?: number | null;\n emitters?: (number | null)[];\n subExplosions?: (number | null)[];\n times?: number[];\n sizes?: Vec3[];\n}\n\nexport interface DebrisDataBlock extends GameBaseDataBlock {\n elasticity?: number;\n friction?: number;\n numBounces?: number;\n bounceVariance?: number;\n minSpinSpeed?: number;\n maxSpinSpeed?: number;\n render2D?: boolean;\n explodeOnMaxBounce?: boolean;\n staticOnMaxBounce?: boolean;\n snapOnMaxBounce?: boolean;\n lifetime?: number;\n lifetimeVariance?: number;\n minSpinSpeed_dup?: number;\n maxSpinSpeed_dup?: number;\n velocity?: number;\n velocityVariance?: number;\n useRadiusMass?: boolean;\n fade?: boolean;\n baseRadius?: number;\n gravModifier?: number;\n terminalVelocity?: number;\n ignoreWater?: boolean;\n texture?: string;\n shapeName?: string;\n emitter0?: number | null;\n emitter1?: number | null;\n explosion?: number | null;\n}\n\nexport interface SplashDataBlock extends GameBaseDataBlock {\n scale?: Vec3;\n delayMS?: number;\n delayVariance?: number;\n lifetimeMS?: number;\n lifetimeVariance?: number;\n width?: number;\n numSegments?: number;\n velocity?: number;\n height?: number;\n acceleration?: number;\n texWrap?: number;\n texFactor?: number;\n ejectionFreq?: number;\n ejectionAngle?: number;\n ringLifetime?: number;\n startRadius?: number;\n explosion?: number | null;\n emitters?: (number | null)[];\n colors?: Color4[];\n times?: number[];\n textureName?: string;\n foamTexture?: string;\n}\n\nexport interface ShockwaveDataBlock extends GameBaseDataBlock {\n scale?: Vec3;\n delayMS?: number;\n delayVariance?: number;\n lifetimeMS?: number;\n lifetimeVariance?: number;\n width?: number;\n numSegments?: number;\n numVertSegments?: number;\n velocity?: number;\n height?: number;\n verticalCurve?: number;\n acceleration?: number;\n texWrap?: number;\n is2D?: boolean;\n orientToNormal?: boolean;\n mapToTerrain?: boolean;\n renderBottom?: boolean;\n renderSquare?: boolean;\n emitters?: (number | null)[];\n colors?: Color4[];\n times?: number[];\n textureName?: string;\n mapToTexture?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Particles\n// ---------------------------------------------------------------------------\n\nexport interface ParticleEmitterDataBlock extends GameBaseDataBlock {\n ejectionPeriodMS?: number;\n periodVarianceMS?: number;\n ejectionVelocity?: number;\n velocityVariance?: number;\n ejectionOffset?: number;\n thetaMin?: number;\n thetaMax?: number;\n phiReferenceVel?: number;\n phiVariance?: number;\n overrideAdvances?: boolean;\n orientParticles?: boolean;\n orientOnVelocity?: boolean;\n lifetimeMS?: number;\n lifetimeVarianceMS?: number;\n useEmitterSizes?: boolean;\n useEmitterColors?: boolean;\n particles?: (number | null)[];\n}\n\nexport interface ParticleDataBlock extends GameBaseDataBlock {\n dragCoefficient?: number;\n windCoefficient?: number;\n gravityCoefficient?: number;\n inheritedVelFactor?: number;\n constantAcceleration?: number;\n lifetimeMS?: number;\n lifetimeVarianceMS?: number;\n spinSpeed?: number;\n spinRandomMin?: number;\n spinRandomMax?: number;\n useInvAlpha?: boolean;\n keys?: ParticleKey[];\n textures?: string[];\n}\n\n// ---------------------------------------------------------------------------\n// Audio\n// ---------------------------------------------------------------------------\n\nexport interface AudioDescriptionDataBlock extends SimDataBlock {\n volume?: number;\n isLooping?: boolean;\n loopCount?: number;\n minLoopGap?: number;\n maxLoopGap?: number;\n is3D?: boolean;\n referenceDistance?: number;\n maxDistance?: number;\n coneInsideAngle?: number;\n coneOutsideAngle?: number;\n coneOutsideVolume?: number;\n coneVector?: Vec3;\n environmentLevel?: number;\n type?: number;\n}\n\nexport interface AudioProfileDataBlock extends SimDataBlock {\n description?: number | null;\n environment?: number | null;\n sampleEnvironment?: number | null;\n filename?: string;\n}\n\nexport interface AudioEnvironmentDataBlock extends SimDataBlock {\n useRoom?: boolean;\n room?: number;\n roomHF?: number;\n reflections?: number;\n reverb?: number;\n roomRolloffFactor?: number;\n decayTime?: number;\n decayHFRatio?: number;\n reflectionsDelay?: number;\n reverbDelay?: number;\n roomVolume?: number;\n damping?: number;\n environmentSize?: number;\n environmentDiffusion?: number;\n airAbsorption?: number;\n effectVolume?: number;\n flags?: number;\n}\n\nexport interface AudioSampleEnvironmentDataBlock extends SimDataBlock {\n direct?: number;\n directHF?: number;\n room?: number;\n roomHF?: number;\n obstruction?: number;\n obstructionLFRatio?: number;\n occlusion?: number;\n occlusionLFRatio?: number;\n occlusionRoomRatio?: number;\n roomRolloff?: number;\n airAbsorption?: number;\n outsideVolumeHF?: number;\n flags?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Misc / utility datablocks\n// ---------------------------------------------------------------------------\n\nexport interface DecalDataBlock extends SimDataBlock {\n sizeX?: number;\n sizeY?: number;\n textureName?: string;\n}\n\nexport interface CameraDataBlock extends ShapeBaseDataBlock {}\n\nexport interface SensorDataBlock extends SimDataBlock {}\n\nexport interface TriggerDataBlock extends SimDataBlock {\n tickPeriodMS?: number;\n}\n\nexport interface ForceFieldBareDataBlock extends SimDataBlock {\n fadeMS?: number;\n baseTranslucency?: number;\n powerOffTranslucency?: number;\n fadeInOnly?: boolean;\n triggerEnable?: boolean;\n color1?: Color4;\n color2?: Color4;\n framesPerSec?: number;\n numFrames?: number;\n scrollSpeed?: number;\n umapping?: number;\n vmapping?: number;\n texture0?: string;\n texture1?: string;\n texture2?: string;\n texture3?: string;\n texture4?: string;\n}\n\nexport interface ParticleEmissionDummyDataBlock extends SimDataBlock {\n timeMultiple?: number;\n}\n\nexport interface CommanderIconDataBlock extends SimDataBlock {\n baseImage?: string;\n activeImage?: string;\n inactiveImage?: string;\n selectImage?: string;\n hilightImage?: string;\n}\n\nexport interface PrecipitationDataBlock extends SimDataBlock {\n soundProfile?: number | null;\n numDrops?: number;\n maxSize?: number;\n materialList?: string;\n sizeX?: number;\n sizeY?: number;\n movingBoxPer?: number;\n divHeightVal?: number;\n sizeBigBox?: number;\n topBoxSpeed?: number;\n frontBoxSpeed?: number;\n topBoxDrawPer?: number;\n bottomDrawHeight?: number;\n skipIfPer?: number;\n bottomSpeedPer?: number;\n frontSpeedPer?: number;\n frontRadiusPer?: number;\n}\n\nexport interface FireballAtmosphereDataBlock extends SimDataBlock {\n emitter?: number | null;\n}\n\nexport interface LightningDataBlock extends SimDataBlock {\n strikeSounds?: (number | null)[];\n strikeTextures?: string[];\n thunderSound?: number | null;\n}\n\n// ---------------------------------------------------------------------------\n// Station effects\n// ---------------------------------------------------------------------------\n\nexport interface StationFXVehicleDataBlock extends SimDataBlock {\n glowTopHeight?: number;\n glowBottomHeight?: number;\n glowTopRadius?: number;\n glowBottomRadius?: number;\n numGlowSegments?: number;\n glowFadeTime?: number;\n armLightDelay?: number;\n armLightLifetime?: number;\n armLightFadeTime?: number;\n lifetime?: number;\n numArcSegments?: number;\n sphereColor?: Color4;\n spherePhiSegments?: number;\n sphereThetaSegments?: number;\n sphereRadius?: number;\n scale?: Vec3;\n glowNodeName?: string;\n leftNodeName0?: string;\n rightNodeName0?: string;\n leftNodeName1?: string;\n rightNodeName1?: string;\n leftNodeName2?: string;\n rightNodeName2?: string;\n leftNodeName3?: string;\n rightNodeName3?: string;\n texture0?: string;\n texture1?: string;\n}\n\nexport interface StationFXPersonalDataBlock extends SimDataBlock {\n glowTopRadius?: number;\n glowBottomRadius?: number;\n glowTopHeight?: number;\n glowBottomHeight?: number;\n numGlowSegments?: number;\n numGlowPanels?: number;\n topAlpha?: number;\n bottomAlpha?: number;\n glowSpeed?: number;\n scrollSpeed?: number;\n leftNodeName?: string;\n rightNodeName?: string;\n texture0?: string;\n texture1?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Miscellaneous game datablocks\n// ---------------------------------------------------------------------------\n\nexport interface CannedChatItemDataBlock extends SimDataBlock {\n chatText?: string;\n}\n\nexport interface MissionMarkerDataBlock extends ShapeBaseDataBlock {}\n\nexport interface TSShapeConstructorDataBlock extends SimDataBlock {\n shape?: string;\n sequences?: string[];\n}\n\nexport interface EffectProfileDataBlock extends SimDataBlock {\n minDistance?: number;\n maxDistance?: number;\n audioScale?: number;\n directional?: boolean;\n effectName?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Jet / running light effects\n// ---------------------------------------------------------------------------\n\nexport interface JetEffectDataBlock extends GameBaseDataBlock {\n coolColor?: Color4;\n hotColor?: Color4;\n activateTime?: number;\n deactivateTime?: number;\n length?: number;\n width?: number;\n speed?: number;\n stretch?: number;\n yOffset?: number;\n texture?: string;\n}\n\nexport interface RunningLightDataBlock extends GameBaseDataBlock {\n radius?: number;\n color?: Color4;\n type?: number;\n length?: number;\n nodeName?: string;\n direction?: Vec3;\n offset?: Vec3;\n texture?: string;\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ export { BitStream } from "./BitStream.js";
|
|
|
3
3
|
export { PacketParser } from "./PacketParser.js";
|
|
4
4
|
export { ClassRegistry } from "./ClassRegistry.js";
|
|
5
5
|
export { GhostTracker } from "./GhostManager.js";
|
|
6
|
-
export { createLiveParser } from "./LiveParser.js";
|
|
7
|
-
export type { LiveParserKit } from "./LiveParser.js";
|
|
8
|
-
export {
|
|
6
|
+
export { createLiveParser, passiveObserverProtocolState, } from "./LiveParser.js";
|
|
7
|
+
export type { LiveParserKit, LiveParserSeed } from "./LiveParser.js";
|
|
8
|
+
export { GhostStateAccumulator, mergeGhostParsedData, } from "./GhostStateAccumulator.js";
|
|
9
|
+
export { buildTimeline, getTimelineStats, exportTimeline } from "./Timeline.js";
|
|
9
10
|
export type { DemoHeader, DemoFile, DemoBlock, InitialBlockData, ConnectionProtocolState, DataBlockHeader, PathManagerEntry, ParsedDataBlock, ScoreEntry, SensorGroupColor, TargetEntry, Move, InfoBlock, DnetHeader, RateInfo, GameState, PacketData, NetEventInfo, GhostUpdate, LoadResult, } from "./types.js";
|
|
10
11
|
export { BlockTypePacket, BlockTypeSendPacket, BlockTypeMove, BlockTypeInfo, MaxGhostCount, GhostIdBitSize, NetStringTableMaxStrings, StringIdBitSize, NetEventClassBitSize, NetEventClassFirst, NetObjectClassBitSize, NetObjectClassFirst, MaxPacketDataSize, MaxTriggerKeys, MoveCountBits, MaxMoveCount, DataBlockObjectIdFirst, DataBlockObjectIdBitSize, DataBlockClassFirst, DataBlockClassBitSize, DataBlockClassNames, NetObjectClassNames, NetEventClassNames, } from "./types.js";
|
|
11
12
|
export type { GhostKeyframe, GhostInstance, ControlObjectKeyframe, GameEvent, DemoTimeline, TimelineStats, ExportTimeline, } from "./Timeline.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,8 @@ export { BitStream } from "./BitStream.js";
|
|
|
3
3
|
export { PacketParser } from "./PacketParser.js";
|
|
4
4
|
export { ClassRegistry } from "./ClassRegistry.js";
|
|
5
5
|
export { GhostTracker } from "./GhostManager.js";
|
|
6
|
-
export { createLiveParser } from "./LiveParser.js";
|
|
7
|
-
export {
|
|
6
|
+
export { createLiveParser, passiveObserverProtocolState, } from "./LiveParser.js";
|
|
7
|
+
export { GhostStateAccumulator, mergeGhostParsedData, } from "./GhostStateAccumulator.js";
|
|
8
|
+
export { buildTimeline, getTimelineStats, exportTimeline } from "./Timeline.js";
|
|
8
9
|
export { BlockTypePacket, BlockTypeSendPacket, BlockTypeMove, BlockTypeInfo, MaxGhostCount, GhostIdBitSize, NetStringTableMaxStrings, StringIdBitSize, NetEventClassBitSize, NetEventClassFirst, NetObjectClassBitSize, NetObjectClassFirst, MaxPacketDataSize, MaxTriggerKeys, MoveCountBits, MaxMoveCount, DataBlockObjectIdFirst, DataBlockObjectIdBitSize, DataBlockClassFirst, DataBlockClassBitSize, DataBlockClassNames, NetObjectClassNames, NetEventClassNames, } from "./types.js";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAyBhF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC","sourcesContent":["export { DemoParser } from \"./DemoParser.js\";\nexport { BitStream } from \"./BitStream.js\";\nexport { PacketParser } from \"./PacketParser.js\";\nexport { ClassRegistry } from \"./ClassRegistry.js\";\nexport { GhostTracker } from \"./GhostManager.js\";\nexport {\n createLiveParser,\n passiveObserverProtocolState,\n} from \"./LiveParser.js\";\nexport type { LiveParserKit, LiveParserSeed } from \"./LiveParser.js\";\nexport {\n GhostStateAccumulator,\n mergeGhostParsedData,\n} from \"./GhostStateAccumulator.js\";\nexport { buildTimeline, getTimelineStats, exportTimeline } from \"./Timeline.js\";\n\nexport type {\n DemoHeader,\n DemoFile,\n DemoBlock,\n InitialBlockData,\n ConnectionProtocolState,\n DataBlockHeader,\n PathManagerEntry,\n ParsedDataBlock,\n ScoreEntry,\n SensorGroupColor,\n TargetEntry,\n Move,\n InfoBlock,\n DnetHeader,\n RateInfo,\n GameState,\n PacketData,\n NetEventInfo,\n GhostUpdate,\n LoadResult,\n} from \"./types.js\";\n\nexport {\n BlockTypePacket,\n BlockTypeSendPacket,\n BlockTypeMove,\n BlockTypeInfo,\n MaxGhostCount,\n GhostIdBitSize,\n NetStringTableMaxStrings,\n StringIdBitSize,\n NetEventClassBitSize,\n NetEventClassFirst,\n NetObjectClassBitSize,\n NetObjectClassFirst,\n MaxPacketDataSize,\n MaxTriggerKeys,\n MoveCountBits,\n MaxMoveCount,\n DataBlockObjectIdFirst,\n DataBlockObjectIdBitSize,\n DataBlockClassFirst,\n DataBlockClassBitSize,\n DataBlockClassNames,\n NetObjectClassNames,\n NetEventClassNames,\n} from \"./types.js\";\n\nexport type {\n GhostKeyframe,\n GhostInstance,\n ControlObjectKeyframe,\n GameEvent,\n DemoTimeline,\n TimelineStats,\n ExportTimeline,\n} from \"./Timeline.js\";\n\nexport type {\n EventParser,\n ConnectionContext,\n GhostParserEntry,\n GhostEntry,\n GhostTrackerInterface,\n ParsedData,\n} from \"./ClassRegistry.js\";\n\n// Shared primitive types\nexport type {\n Vec3,\n Quat,\n Color3,\n Color4,\n AffineTransform,\n MatrixF,\n} from \"./dataTypes.js\";\n\n// Ghost data types (parsed ghost update/packet data)\nexport type {\n MoveData,\n SoundSlot,\n ThreadState,\n ImageSlot,\n WheelState,\n GameBaseGhostData,\n ShapeBaseGhostData,\n PlayerGhostData,\n PlayerPacketData,\n VehicleGhostData,\n VehiclePacketData,\n WheeledVehicleGhostData,\n WheeledVehiclePacketData,\n FlyingVehicleGhostData,\n HoverVehicleGhostData,\n ItemGhostData,\n StaticShapeGhostData,\n ScopeAlwaysShapeGhostData,\n BeaconObjectGhostData,\n TurretGhostData,\n MissionMarkerGhostData,\n WayPointGhostData,\n SpawnSphereGhostData,\n CameraGhostData,\n CameraPacketData,\n MarkerGhostData,\n SimpleNetObjectGhostData,\n InteriorInstanceGhostData,\n DebrisGhostData,\n ProjectileGhostData,\n LinearProjectileGhostData,\n BombProjectileGhostData,\n GrenadeProjectileGhostData,\n SeekerProjectileGhostData,\n SniperProjectileGhostData,\n ShockLanceProjectileGhostData,\n ELFProjectileGhostData,\n RepairProjectileGhostData,\n TargetProjectileGhostData,\n ForceFieldBareGhostData,\n TSStaticGhostData,\n TerrainBlockGhostData,\n SunGhostData,\n SkyGhostData,\n LightningGhostData,\n WaterBlockGhostData,\n MissionAreaGhostData,\n SplashGhostData,\n ShockwaveGhostData,\n FireballAtmosphereGhostData,\n VehicleBlockerGhostData,\n ParticleEmissionDummyGhostData,\n PrecipitationGhostData,\n TriggerGhostData,\n PhysicalZoneGhostData,\n AudioEmitterGhostData,\n StationFXPersonalGhostData,\n AIObjectiveGhostData,\n} from \"./ghostDataTypes.js\";\n\n// DataBlock data types (parsed datablock definitions)\nexport type {\n HudImageEntry,\n ImageState,\n ParticleKey,\n SimDataBlock,\n GameBaseDataBlock,\n ShapeBaseDataBlock,\n ShapeBaseImageDataBlock,\n PlayerDataBlock,\n VehicleDataBlock,\n FlyingVehicleDataBlock,\n HoverVehicleDataBlock,\n WheeledVehicleDataBlock,\n StaticShapeDataBlock,\n TurretDataBlock,\n TurretImageDataBlock,\n ItemDataBlock,\n ProjectileDataBlock,\n LinearProjectileDataBlock,\n GrenadeProjectileDataBlock,\n SeekerProjectileDataBlock,\n SniperProjectileDataBlock,\n ShockLanceProjectileDataBlock,\n ELFProjectileDataBlock,\n RepairProjectileDataBlock,\n TargetProjectileDataBlock,\n TracerProjectileDataBlock,\n EnergyProjectileDataBlock,\n LinearFlareProjectileDataBlock,\n BombProjectileDataBlock,\n FlareProjectileDataBlock,\n ExplosionDataBlock,\n DebrisDataBlock,\n SplashDataBlock,\n ShockwaveDataBlock,\n ParticleEmitterDataBlock,\n ParticleDataBlock,\n AudioDescriptionDataBlock,\n AudioProfileDataBlock,\n AudioEnvironmentDataBlock,\n AudioSampleEnvironmentDataBlock,\n DecalDataBlock,\n CameraDataBlock,\n SensorDataBlock,\n TriggerDataBlock,\n ForceFieldBareDataBlock,\n ParticleEmissionDummyDataBlock,\n CommanderIconDataBlock,\n PrecipitationDataBlock,\n FireballAtmosphereDataBlock,\n LightningDataBlock,\n StationFXVehicleDataBlock,\n StationFXPersonalDataBlock,\n CannedChatItemDataBlock,\n MissionMarkerDataBlock,\n TSShapeConstructorDataBlock,\n EffectProfileDataBlock,\n JetEffectDataBlock,\n RunningLightDataBlock,\n} from \"./dataBlockDataTypes.js\";\n\n// Event data types (parsed network event data)\nexport type {\n EventData,\n SimDataBlockEventData,\n NetStringEventData,\n Sim2DAudioEventData,\n Sim3DAudioEventData,\n SetSensorGroupEventData,\n SetServerTargetEventData,\n TargetToEventData,\n SetObjectActiveImageEventData,\n SetMissionCRCEventData,\n RemoteCommandEventData,\n TargetInfoEventData,\n TargetFreeEventData,\n SimTargetAudioEventData,\n SensorGroupColorEntry,\n SensorGroupColorEventData,\n ResetClientTargetsEventData,\n RemoveClientTargetTypeEventData,\n SimVoiceStreamEventData,\n GhostingMessageEventData,\n GhostAlwaysObjectEventData,\n PathPoint,\n PathData,\n PathManagerEventData,\n LightningStrikeEventData,\n FileChunkEventData,\n DownloadMessageEventData,\n FileDownloadRequestEventData,\n SimpleMessageEventData,\n CRCChallengeEventData,\n CRCChallengeResponseEventData,\n GravityEventData,\n FogChallengeEventData,\n AnyEventData,\n} from \"./eventDataTypes.js\";\n"]}
|
package/dist/types.d.ts
CHANGED
|
@@ -94,6 +94,9 @@ export interface NetEventInfo {
|
|
|
94
94
|
dataBitsStart: number;
|
|
95
95
|
dataBitsEnd: number;
|
|
96
96
|
parsedData?: ParsedData;
|
|
97
|
+
/** Set when the event could not be parsed (unknown class or parser
|
|
98
|
+
* threw), leaving the stream position unreliable. */
|
|
99
|
+
failed?: boolean;
|
|
97
100
|
}
|
|
98
101
|
export interface PacketData {
|
|
99
102
|
dnetHeader: DnetHeader;
|
|
@@ -237,6 +240,14 @@ export interface InitialBlockData {
|
|
|
237
240
|
initialEvents: NetEventInfo[];
|
|
238
241
|
controlObjectGhostIndex: number;
|
|
239
242
|
controlObjectData?: ParsedData;
|
|
243
|
+
/** Compression point established by the control object's readPacketData
|
|
244
|
+
* (its position), used to decode compressed points in packets that
|
|
245
|
+
* precede the first in-stream compression-point update. */
|
|
246
|
+
initialCompressionPoint?: {
|
|
247
|
+
x: number;
|
|
248
|
+
y: number;
|
|
249
|
+
z: number;
|
|
250
|
+
};
|
|
240
251
|
missionName: string;
|
|
241
252
|
missionCRC: number;
|
|
242
253
|
phase2TrailingBits?: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ParsedData } from \"./ClassRegistry.js\";\n\n// Key constants from the V12 engine source\nexport const MaxGhostCount = 1024;\nexport const GhostIdBitSize = 10;\nexport const NetStringTableMaxStrings = 4096;\nexport const StringIdBitSize = 12;\nexport const NetEventClassBitSize = 6;\nexport const NetEventClassFirst = 255;\nexport const NetObjectClassBitSize = 7;\nexport const NetObjectClassFirst = 0;\nexport const MaxPacketDataSize = 1500;\nexport const MaxTriggerKeys = 6;\nexport const MoveCountBits = 5;\nexport const MaxMoveCount = 30;\n\n// GhostingMessageEvent message types (NetConnection::GhostMSG enum).\nexport const GhostMsgGhostAlwaysDone = 0;\nexport const GhostMsgGhostAlwaysAck = 1;\nexport const GhostMsgEndGhosting = 2;\nexport const GhostMsgGhostingActive = 3;\n\n// DataBlock constants.\n// For SimDataBlockEvent header (initial block + events), the binary uses:\n// readInt(11) objectId, readInt(7) classId, readInt(11) index, readInt(12) total.\n// For DataBlock references in payloads (readDataBlockRef), V12 source uses:\n// readRangedU32(DataBlockObjectIdFirst, DataBlockObjectIdLast).\nexport const DataBlockObjectIdFirst = 3;\nexport const DataBlockObjectIdBitSize = 10;\nexport const DataBlockObjectIdLast =\n DataBlockObjectIdFirst + (1 << DataBlockObjectIdBitSize) - 1; // 1026\nexport const DataBlockClassFirst = 128;\nexport const DataBlockClassBitSize = 7;\n\n// SimDataBlockEvent header bit sizes (from decompiled binary).\n// These are the HEADER field sizes, which differ from the payload reference sizes.\n// readClassInfo uses getNextPow2(0x800=2048) → getBitCount(2048)=11 for objectId.\n// The classId, index, and total are read with literal values 7, 11, 12 (from 0x80, 0xb, 0xc).\nexport const SimDBEventObjectIdBits = 11;\nexport const SimDBEventClassIdBits = 7; // same as DataBlockClassBitSize\nexport const SimDBEventIndexBits = 11;\nexport const SimDBEventTotalBits = 12;\n\n// Deterministic DataBlock class name mapping, derived from machine code\n// analysis of the Tribes 2 binary (build 25034). All 54 DataBlock classes\n// with mClassIdBase=0x80 are sorted by C strcmp (ASCII byte order), which\n// is how AbstractClassRep::initialize assigns sequential classIds.\n// Index N in this array corresponds to classId N (group-local) or\n// classId N+128 (V12 global format).\nexport const DataBlockClassNames: readonly string[] = [\n \"AudioDescription\", // 0 / 128\n \"AudioEnvironment\", // 1 / 129\n \"AudioProfile\", // 2 / 130\n \"AudioSampleEnvironment\", // 3 / 131\n \"BombProjectileData\", // 4 / 132\n \"CameraData\", // 5 / 133\n \"CannedChatItem\", // 6 / 134\n \"CommanderIconData\", // 7 / 135\n \"DebrisData\", // 8 / 136\n \"DecalData\", // 9 / 137\n \"ELFProjectileData\", // 10 / 138\n \"EffectProfile\", // 11 / 139\n \"EnergyProjectileData\", // 12 / 140\n \"ExplosionData\", // 13 / 141\n \"FireballAtmosphereData\", // 14 / 142\n \"FlareProjectileData\", // 15 / 143\n \"FlyingVehicleData\", // 16 / 144\n \"ForceFieldBareData\", // 17 / 145\n \"GameBaseData\", // 18 / 146\n \"GrenadeProjectileData\", // 19 / 147\n \"HoverVehicleData\", // 20 / 148\n \"ItemData\", // 21 / 149\n \"JetEffectData\", // 22 / 150\n \"LightningData\", // 23 / 151\n \"LinearFlareProjectileData\",// 24 / 152\n \"LinearProjectileData\", // 25 / 153\n \"MissionMarkerData\", // 26 / 154\n \"ParticleData\", // 27 / 155\n \"ParticleEmissionDummyData\",// 28 / 156\n \"ParticleEmitterData\", // 29 / 157\n \"PlayerData\", // 30 / 158\n \"PrecipitationData\", // 31 / 159\n \"ProjectileData\", // 32 / 160\n \"RepairProjectileData\", // 33 / 161\n \"RunningLightData\", // 34 / 162\n \"SeekerProjectileData\", // 35 / 163\n \"SensorData\", // 36 / 164\n \"ShapeBaseData\", // 37 / 165\n \"ShapeBaseImageData\", // 38 / 166\n \"ShockLanceProjectileData\", // 39 / 167\n \"ShockwaveData\", // 40 / 168\n \"SimDataBlock\", // 41 / 169\n \"SniperProjectileData\", // 42 / 170\n \"SplashData\", // 43 / 171\n \"StaticShapeData\", // 44 / 172\n \"StationFXPersonalData\", // 45 / 173\n \"StationFXVehicleData\", // 46 / 174\n \"TSShapeConstructor\", // 47 / 175\n \"TargetProjectileData\", // 48 / 176\n \"TracerProjectileData\", // 49 / 177\n \"TriggerData\", // 50 / 178\n \"TurretData\", // 51 / 179\n \"TurretImageData\", // 52 / 180\n \"WheeledVehicleData\", // 53 / 181\n] as const;\n\n// Deterministic NetObject (ghost) class name mapping, derived from machine code\n// analysis of the Tribes 2 binary (build 25034). All 53 NetObject classes\n// with mClassIdBase=0 are sorted by C strcmp (ASCII byte order), which\n// is how AbstractClassRep::initialize assigns sequential classIds.\n// Index N in this array corresponds to classId N (NetObjectClassFirst + N).\n// Verified against decompiled FUN_00423cb0 class table initialization.\n// Vehicle is NOT a ghost class (classGroup=0xFFFFFFFF in binary).\nexport const NetObjectClassNames: readonly string[] = [\n \"AIObjective\", // 0\n \"AudioEmitter\", // 1\n \"BeaconObject\", // 2\n \"BombProjectile\", // 3\n \"Camera\", // 4\n \"Debris\", // 5\n \"ELFProjectile\", // 6\n \"EnergyProjectile\", // 7\n \"FireballAtmosphere\", // 8\n \"FlareProjectile\", // 9\n \"FlyingVehicle\", // 10\n \"ForceFieldBare\", // 11\n \"GameBase\", // 12\n \"GrenadeProjectile\", // 13\n \"HoverVehicle\", // 14\n \"InteriorInstance\", // 15\n \"Item\", // 16\n \"Lightning\", // 17\n \"LinearFlareProjectile\", // 18\n \"LinearProjectile\", // 19\n \"Marker\", // 20\n \"MissionArea\", // 21\n \"MissionMarker\", // 22\n \"ParticleEmissionDummy\", // 23\n \"PhysicalZone\", // 24\n \"Player\", // 25\n \"Precipitation\", // 26\n \"Projectile\", // 27\n \"RepairProjectile\", // 28\n \"ScopeAlwaysShape\", // 29\n \"SeekerProjectile\", // 30\n \"ShapeBase\", // 31\n \"ShockLanceProjectile\", // 32\n \"Shockwave\", // 33\n \"SimpleNetObject\", // 34\n \"Sky\", // 35\n \"SniperProjectile\", // 36\n \"SpawnSphere\", // 37\n \"Splash\", // 38\n \"StaticShape\", // 39\n \"StationFXPersonal\", // 40\n \"StationFXVehicle\", // 41\n \"Sun\", // 42\n \"TSStatic\", // 43\n \"TargetProjectile\", // 44\n \"TerrainBlock\", // 45\n \"TracerProjectile\", // 46\n \"Trigger\", // 47\n \"Turret\", // 48\n \"VehicleBlocker\", // 49\n \"WaterBlock\", // 50\n \"WayPoint\", // 51\n \"WheeledVehicle\", // 52\n] as const;\n\n// Deterministic NetEvent class name mapping, derived from machine code\n// analysis of the Tribes 2 binary (build 25034). All 26 NetEvent classes\n// with mClassIdBase=0xFF are sorted by C strcmp (ASCII byte order), which\n// is how AbstractClassRep::initialize assigns sequential classIds.\n// Index N in this array corresponds to classId NetEventClassFirst + N (255 + N).\nexport const NetEventClassNames: readonly string[] = [\n \"CRCChallengeEvent\", // 0 / 255\n \"CRCChallengeResponseEvent\", // 1 / 256\n \"FogChallengeEvent\", // 2 / 257\n \"GhostAlwaysObjectEvent\", // 3 / 258\n \"GhostingMessageEvent\", // 4 / 259\n \"GravityEvent\", // 5 / 260\n \"LightningStrikeEvent\", // 6 / 261\n \"NetStringEvent\", // 7 / 262\n \"PathManagerEvent\", // 8 / 263\n \"RemoteCommandEvent\", // 9 / 264\n \"RemoveClientTargetTypeEvent\", // 10 / 265\n \"ResetClientTargetsEvent\", // 11 / 266\n \"SensorGroupColorEvent\", // 12 / 267\n \"SetMissionCRCEvent\", // 13 / 268\n \"SetObjectActiveImageEvent\", // 14 / 269\n \"SetSensorGroupEvent\", // 15 / 270\n \"SetServerTargetEvent\", // 16 / 271\n \"Sim2DAudioEvent\", // 17 / 272\n \"Sim3DAudioEvent\", // 18 / 273\n \"SimDataBlockEvent\", // 19 / 274\n \"SimTargetAudioEvent\", // 20 / 275\n \"SimVoiceStreamEvent\", // 21 / 276\n \"SimpleMessageEvent\", // 22 / 277\n \"TargetFreeEvent\", // 23 / 278\n \"TargetInfoEvent\", // 24 / 279\n \"TargetToEvent\", // 25 / 280\n] as const;\n\n// Block types in the U16 packed format (type = typeSize >> 12)\n// These are from TorqueSDK-style recordBlock/handleRecordedBlock\nexport const BlockTypePacket = 0; // Received network packet (dnet data)\nexport const BlockTypeSendPacket = 1; // SendPacket trigger (size=0, no data)\nexport const BlockTypeMove = 2; // Raw Move struct (64 bytes)\nexport const BlockTypeInfo = 3; // Info block (8 bytes: U32 + F32)\n\n// Packet types from dnet\nexport const DataPacket = 0;\nexport const PingPacket = 1;\nexport const AckPacket = 2;\n\nexport interface Move {\n px: number;\n py: number;\n pz: number;\n pyaw: number;\n ppitch: number;\n proll: number;\n x: number;\n y: number;\n z: number;\n yaw: number;\n pitch: number;\n roll: number;\n id: number;\n sendCount: number;\n freeLook: boolean;\n trigger: boolean[];\n}\n\nexport interface InfoBlock {\n value1: number; // U32\n value2: number; // F32\n}\n\nexport interface DataBlockHeader {\n objectId: number;\n classId: number;\n index: number;\n total: number;\n dataBitsStart: number;\n}\n\nexport interface DnetHeader {\n gameFlag: boolean;\n connectSeqBit: number;\n seqNumber: number;\n highestAck: number;\n packetType: number;\n ackByteCount: number;\n ackMask: number;\n}\n\nexport interface RateInfo {\n updateDelay?: number;\n packetSize?: number;\n maxUpdateDelay?: number;\n maxPacketSize?: number;\n}\n\nexport interface GhostUpdate {\n index: number;\n type: \"create\" | \"update\" | \"delete\";\n classId?: number;\n updateBitsStart: number;\n updateBitsEnd: number;\n parsedData?: ParsedData;\n}\n\nexport interface NetEventInfo {\n classId: number;\n guaranteed: boolean;\n sequenceNumber?: number;\n absoluteSequenceNumber?: number;\n dataBitsStart: number;\n dataBitsEnd: number;\n parsedData?: ParsedData;\n}\n\nexport interface PacketData {\n dnetHeader: DnetHeader;\n rateInfo: RateInfo;\n gameState: GameState;\n events: NetEventInfo[];\n ghosts: GhostUpdate[];\n /** Bit position where ghost section starts (readGhosts call). */\n ghostSectionStart?: number;\n}\n\nexport interface GameState {\n lastMoveAck: number;\n damageFlash?: number;\n whiteOut?: number;\n selfLocked?: boolean;\n selfHomed?: boolean;\n seekerTracking?: boolean;\n seekerTrackingPos?: { x: number; y: number; z: number };\n seekerMode?: number;\n seekerObjectGhostIndex?: number;\n targetPos?: { x: number; y: number; z: number };\n pinged: boolean;\n jammed: boolean;\n controlObjectGhostIndex?: number;\n controlObjectDataStart?: number;\n controlObjectDataEnd?: number;\n controlObjectData?: ParsedData;\n compressionPoint?: { x: number; y: number; z: number };\n targetVisibility?: { index: number; mask: number }[];\n cameraFov?: number;\n}\n\nexport interface DemoBlock {\n index: number;\n type: number;\n size: number;\n data: Uint8Array;\n parsed?: PacketData | Move | InfoBlock;\n}\n\nexport interface ConnectionProtocolState {\n lastSeqRecvdAtSend: number[];\n lastSeqRecvd: number;\n highestAckedSeq: number;\n lastSendSeq: number;\n ackMask: number;\n connectSequence: number;\n lastRecvAckAck: number;\n connectionEstablished: boolean;\n}\n\nexport interface StringTableEntry {\n id: number;\n value: string;\n}\n\nexport interface ParsedDataBlock {\n classId: number;\n className: string;\n objectId: number;\n data: ParsedData;\n}\n\nexport interface ScoreEntry {\n clientId: number;\n teamId: number;\n score: number;\n field0: number;\n field1: number;\n field2: number;\n isBot: boolean;\n triggerFlags: boolean[];\n}\n\n/**\n * IFF (Identification Friend or Foe) color for one sensor group pairing.\n * sensorGroupColors[myGroup][theirGroup] determines how `theirGroup` appears\n * to `myGroup` (e.g., red for enemy, green for friendly).\n */\nexport interface SensorGroupColor {\n group: number;\n targetGroup: number;\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface TargetEntry {\n targetId: number;\n sensorData?: number;\n voiceMapData?: number;\n name?: string;\n skin?: string;\n skinPref?: string;\n voice?: string;\n typeDescription?: string;\n sensorGroup: number;\n targetData: number;\n dataBlockRef?: number;\n damageLevel: number;\n}\n\nexport interface PathManagerEntry {\n entryId: number;\n records: { field0: number; field1: number; field2: number; auxField: number }[];\n}\n\nexport interface InitialBlockData {\n taggedStrings: Map<number, string>;\n dataBlockHeaders: DataBlockHeader[];\n dataBlockCount: number;\n dataBlocks: Map<number, ParsedDataBlock>;\n /** Initial $firstPerson state from GameConnection::writeDemoStartBlock. */\n firstPerson: boolean;\n connectionFields: number[];\n stateArray: number[];\n scoreEntries: ScoreEntry[];\n demoValues: string[];\n sensorGroupColors: SensorGroupColor[];\n targetEntries: TargetEntry[];\n connectionState: ConnectionProtocolState;\n roundTripTime: number;\n packetLoss: number;\n pathManager: PathManagerEntry[];\n notifyCount: number;\n nextRecvEventSeq: number;\n ghostingSequence: number;\n initialGhosts: GhostUpdate[];\n initialEvents: NetEventInfo[];\n controlObjectGhostIndex: number;\n controlObjectData?: ParsedData;\n missionName: string;\n missionCRC: number;\n phase2TrailingBits?: number;\n phase2Valid?: boolean;\n phase2Error?: string;\n}\n\nexport interface DemoHeader {\n identString: string;\n protocolVersion: number;\n demoLengthMs: number;\n initialBlockSize: number;\n}\n\nexport interface DemoFile {\n header: DemoHeader;\n initialBlock: InitialBlockData;\n blocks: DemoBlock[];\n}\n\nexport interface LoadResult {\n header: DemoHeader;\n initialBlock: InitialBlockData;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ParsedData } from \"./ClassRegistry.js\";\n\n// Key constants from the V12 engine source\nexport const MaxGhostCount = 1024;\nexport const GhostIdBitSize = 10;\nexport const NetStringTableMaxStrings = 4096;\nexport const StringIdBitSize = 12;\nexport const NetEventClassBitSize = 6;\nexport const NetEventClassFirst = 255;\nexport const NetObjectClassBitSize = 7;\nexport const NetObjectClassFirst = 0;\nexport const MaxPacketDataSize = 1500;\nexport const MaxTriggerKeys = 6;\nexport const MoveCountBits = 5;\nexport const MaxMoveCount = 30;\n\n// GhostingMessageEvent message types (NetConnection::GhostMSG enum).\nexport const GhostMsgGhostAlwaysDone = 0;\nexport const GhostMsgGhostAlwaysAck = 1;\nexport const GhostMsgEndGhosting = 2;\nexport const GhostMsgGhostingActive = 3;\n\n// DataBlock constants.\n// For SimDataBlockEvent header (initial block + events), the binary uses:\n// readInt(11) objectId, readInt(7) classId, readInt(11) index, readInt(12) total.\n// For DataBlock references in payloads (readDataBlockRef), V12 source uses:\n// readRangedU32(DataBlockObjectIdFirst, DataBlockObjectIdLast).\nexport const DataBlockObjectIdFirst = 3;\nexport const DataBlockObjectIdBitSize = 10;\nexport const DataBlockObjectIdLast =\n DataBlockObjectIdFirst + (1 << DataBlockObjectIdBitSize) - 1; // 1026\nexport const DataBlockClassFirst = 128;\nexport const DataBlockClassBitSize = 7;\n\n// SimDataBlockEvent header bit sizes (from decompiled binary).\n// These are the HEADER field sizes, which differ from the payload reference sizes.\n// readClassInfo uses getNextPow2(0x800=2048) → getBitCount(2048)=11 for objectId.\n// The classId, index, and total are read with literal values 7, 11, 12 (from 0x80, 0xb, 0xc).\nexport const SimDBEventObjectIdBits = 11;\nexport const SimDBEventClassIdBits = 7; // same as DataBlockClassBitSize\nexport const SimDBEventIndexBits = 11;\nexport const SimDBEventTotalBits = 12;\n\n// Deterministic DataBlock class name mapping, derived from machine code\n// analysis of the Tribes 2 binary (build 25034). All 54 DataBlock classes\n// with mClassIdBase=0x80 are sorted by C strcmp (ASCII byte order), which\n// is how AbstractClassRep::initialize assigns sequential classIds.\n// Index N in this array corresponds to classId N (group-local) or\n// classId N+128 (V12 global format).\nexport const DataBlockClassNames: readonly string[] = [\n \"AudioDescription\", // 0 / 128\n \"AudioEnvironment\", // 1 / 129\n \"AudioProfile\", // 2 / 130\n \"AudioSampleEnvironment\", // 3 / 131\n \"BombProjectileData\", // 4 / 132\n \"CameraData\", // 5 / 133\n \"CannedChatItem\", // 6 / 134\n \"CommanderIconData\", // 7 / 135\n \"DebrisData\", // 8 / 136\n \"DecalData\", // 9 / 137\n \"ELFProjectileData\", // 10 / 138\n \"EffectProfile\", // 11 / 139\n \"EnergyProjectileData\", // 12 / 140\n \"ExplosionData\", // 13 / 141\n \"FireballAtmosphereData\", // 14 / 142\n \"FlareProjectileData\", // 15 / 143\n \"FlyingVehicleData\", // 16 / 144\n \"ForceFieldBareData\", // 17 / 145\n \"GameBaseData\", // 18 / 146\n \"GrenadeProjectileData\", // 19 / 147\n \"HoverVehicleData\", // 20 / 148\n \"ItemData\", // 21 / 149\n \"JetEffectData\", // 22 / 150\n \"LightningData\", // 23 / 151\n \"LinearFlareProjectileData\", // 24 / 152\n \"LinearProjectileData\", // 25 / 153\n \"MissionMarkerData\", // 26 / 154\n \"ParticleData\", // 27 / 155\n \"ParticleEmissionDummyData\", // 28 / 156\n \"ParticleEmitterData\", // 29 / 157\n \"PlayerData\", // 30 / 158\n \"PrecipitationData\", // 31 / 159\n \"ProjectileData\", // 32 / 160\n \"RepairProjectileData\", // 33 / 161\n \"RunningLightData\", // 34 / 162\n \"SeekerProjectileData\", // 35 / 163\n \"SensorData\", // 36 / 164\n \"ShapeBaseData\", // 37 / 165\n \"ShapeBaseImageData\", // 38 / 166\n \"ShockLanceProjectileData\", // 39 / 167\n \"ShockwaveData\", // 40 / 168\n \"SimDataBlock\", // 41 / 169\n \"SniperProjectileData\", // 42 / 170\n \"SplashData\", // 43 / 171\n \"StaticShapeData\", // 44 / 172\n \"StationFXPersonalData\", // 45 / 173\n \"StationFXVehicleData\", // 46 / 174\n \"TSShapeConstructor\", // 47 / 175\n \"TargetProjectileData\", // 48 / 176\n \"TracerProjectileData\", // 49 / 177\n \"TriggerData\", // 50 / 178\n \"TurretData\", // 51 / 179\n \"TurretImageData\", // 52 / 180\n \"WheeledVehicleData\", // 53 / 181\n] as const;\n\n// Deterministic NetObject (ghost) class name mapping, derived from machine code\n// analysis of the Tribes 2 binary (build 25034). All 53 NetObject classes\n// with mClassIdBase=0 are sorted by C strcmp (ASCII byte order), which\n// is how AbstractClassRep::initialize assigns sequential classIds.\n// Index N in this array corresponds to classId N (NetObjectClassFirst + N).\n// Verified against decompiled FUN_00423cb0 class table initialization.\n// Vehicle is NOT a ghost class (classGroup=0xFFFFFFFF in binary).\nexport const NetObjectClassNames: readonly string[] = [\n \"AIObjective\", // 0\n \"AudioEmitter\", // 1\n \"BeaconObject\", // 2\n \"BombProjectile\", // 3\n \"Camera\", // 4\n \"Debris\", // 5\n \"ELFProjectile\", // 6\n \"EnergyProjectile\", // 7\n \"FireballAtmosphere\", // 8\n \"FlareProjectile\", // 9\n \"FlyingVehicle\", // 10\n \"ForceFieldBare\", // 11\n \"GameBase\", // 12\n \"GrenadeProjectile\", // 13\n \"HoverVehicle\", // 14\n \"InteriorInstance\", // 15\n \"Item\", // 16\n \"Lightning\", // 17\n \"LinearFlareProjectile\", // 18\n \"LinearProjectile\", // 19\n \"Marker\", // 20\n \"MissionArea\", // 21\n \"MissionMarker\", // 22\n \"ParticleEmissionDummy\", // 23\n \"PhysicalZone\", // 24\n \"Player\", // 25\n \"Precipitation\", // 26\n \"Projectile\", // 27\n \"RepairProjectile\", // 28\n \"ScopeAlwaysShape\", // 29\n \"SeekerProjectile\", // 30\n \"ShapeBase\", // 31\n \"ShockLanceProjectile\", // 32\n \"Shockwave\", // 33\n \"SimpleNetObject\", // 34\n \"Sky\", // 35\n \"SniperProjectile\", // 36\n \"SpawnSphere\", // 37\n \"Splash\", // 38\n \"StaticShape\", // 39\n \"StationFXPersonal\", // 40\n \"StationFXVehicle\", // 41\n \"Sun\", // 42\n \"TSStatic\", // 43\n \"TargetProjectile\", // 44\n \"TerrainBlock\", // 45\n \"TracerProjectile\", // 46\n \"Trigger\", // 47\n \"Turret\", // 48\n \"VehicleBlocker\", // 49\n \"WaterBlock\", // 50\n \"WayPoint\", // 51\n \"WheeledVehicle\", // 52\n] as const;\n\n// Deterministic NetEvent class name mapping, derived from machine code\n// analysis of the Tribes 2 binary (build 25034). All 26 NetEvent classes\n// with mClassIdBase=0xFF are sorted by C strcmp (ASCII byte order), which\n// is how AbstractClassRep::initialize assigns sequential classIds.\n// Index N in this array corresponds to classId NetEventClassFirst + N (255 + N).\nexport const NetEventClassNames: readonly string[] = [\n \"CRCChallengeEvent\", // 0 / 255\n \"CRCChallengeResponseEvent\", // 1 / 256\n \"FogChallengeEvent\", // 2 / 257\n \"GhostAlwaysObjectEvent\", // 3 / 258\n \"GhostingMessageEvent\", // 4 / 259\n \"GravityEvent\", // 5 / 260\n \"LightningStrikeEvent\", // 6 / 261\n \"NetStringEvent\", // 7 / 262\n \"PathManagerEvent\", // 8 / 263\n \"RemoteCommandEvent\", // 9 / 264\n \"RemoveClientTargetTypeEvent\", // 10 / 265\n \"ResetClientTargetsEvent\", // 11 / 266\n \"SensorGroupColorEvent\", // 12 / 267\n \"SetMissionCRCEvent\", // 13 / 268\n \"SetObjectActiveImageEvent\", // 14 / 269\n \"SetSensorGroupEvent\", // 15 / 270\n \"SetServerTargetEvent\", // 16 / 271\n \"Sim2DAudioEvent\", // 17 / 272\n \"Sim3DAudioEvent\", // 18 / 273\n \"SimDataBlockEvent\", // 19 / 274\n \"SimTargetAudioEvent\", // 20 / 275\n \"SimVoiceStreamEvent\", // 21 / 276\n \"SimpleMessageEvent\", // 22 / 277\n \"TargetFreeEvent\", // 23 / 278\n \"TargetInfoEvent\", // 24 / 279\n \"TargetToEvent\", // 25 / 280\n] as const;\n\n// Block types in the U16 packed format (type = typeSize >> 12)\n// These are from TorqueSDK-style recordBlock/handleRecordedBlock\nexport const BlockTypePacket = 0; // Received network packet (dnet data)\nexport const BlockTypeSendPacket = 1; // SendPacket trigger (size=0, no data)\nexport const BlockTypeMove = 2; // Raw Move struct (64 bytes)\nexport const BlockTypeInfo = 3; // Info block (8 bytes: U32 + F32)\n\n// Packet types from dnet\nexport const DataPacket = 0;\nexport const PingPacket = 1;\nexport const AckPacket = 2;\n\nexport interface Move {\n px: number;\n py: number;\n pz: number;\n pyaw: number;\n ppitch: number;\n proll: number;\n x: number;\n y: number;\n z: number;\n yaw: number;\n pitch: number;\n roll: number;\n id: number;\n sendCount: number;\n freeLook: boolean;\n trigger: boolean[];\n}\n\nexport interface InfoBlock {\n value1: number; // U32\n value2: number; // F32\n}\n\nexport interface DataBlockHeader {\n objectId: number;\n classId: number;\n index: number;\n total: number;\n dataBitsStart: number;\n}\n\nexport interface DnetHeader {\n gameFlag: boolean;\n connectSeqBit: number;\n seqNumber: number;\n highestAck: number;\n packetType: number;\n ackByteCount: number;\n ackMask: number;\n}\n\nexport interface RateInfo {\n updateDelay?: number;\n packetSize?: number;\n maxUpdateDelay?: number;\n maxPacketSize?: number;\n}\n\nexport interface GhostUpdate {\n index: number;\n type: \"create\" | \"update\" | \"delete\";\n classId?: number;\n updateBitsStart: number;\n updateBitsEnd: number;\n parsedData?: ParsedData;\n}\n\nexport interface NetEventInfo {\n classId: number;\n guaranteed: boolean;\n sequenceNumber?: number;\n absoluteSequenceNumber?: number;\n dataBitsStart: number;\n dataBitsEnd: number;\n parsedData?: ParsedData;\n /** Set when the event could not be parsed (unknown class or parser\n * threw), leaving the stream position unreliable. */\n failed?: boolean;\n}\n\nexport interface PacketData {\n dnetHeader: DnetHeader;\n rateInfo: RateInfo;\n gameState: GameState;\n events: NetEventInfo[];\n ghosts: GhostUpdate[];\n /** Bit position where ghost section starts (readGhosts call). */\n ghostSectionStart?: number;\n}\n\nexport interface GameState {\n lastMoveAck: number;\n damageFlash?: number;\n whiteOut?: number;\n selfLocked?: boolean;\n selfHomed?: boolean;\n seekerTracking?: boolean;\n seekerTrackingPos?: { x: number; y: number; z: number };\n seekerMode?: number;\n seekerObjectGhostIndex?: number;\n targetPos?: { x: number; y: number; z: number };\n pinged: boolean;\n jammed: boolean;\n controlObjectGhostIndex?: number;\n controlObjectDataStart?: number;\n controlObjectDataEnd?: number;\n controlObjectData?: ParsedData;\n compressionPoint?: { x: number; y: number; z: number };\n targetVisibility?: { index: number; mask: number }[];\n cameraFov?: number;\n}\n\nexport interface DemoBlock {\n index: number;\n type: number;\n size: number;\n data: Uint8Array;\n parsed?: PacketData | Move | InfoBlock;\n}\n\nexport interface ConnectionProtocolState {\n lastSeqRecvdAtSend: number[];\n lastSeqRecvd: number;\n highestAckedSeq: number;\n lastSendSeq: number;\n ackMask: number;\n connectSequence: number;\n lastRecvAckAck: number;\n connectionEstablished: boolean;\n}\n\nexport interface StringTableEntry {\n id: number;\n value: string;\n}\n\nexport interface ParsedDataBlock {\n classId: number;\n className: string;\n objectId: number;\n data: ParsedData;\n}\n\nexport interface ScoreEntry {\n clientId: number;\n teamId: number;\n score: number;\n field0: number;\n field1: number;\n field2: number;\n isBot: boolean;\n triggerFlags: boolean[];\n}\n\n/**\n * IFF (Identification Friend or Foe) color for one sensor group pairing.\n * sensorGroupColors[myGroup][theirGroup] determines how `theirGroup` appears\n * to `myGroup` (e.g., red for enemy, green for friendly).\n */\nexport interface SensorGroupColor {\n group: number;\n targetGroup: number;\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface TargetEntry {\n targetId: number;\n sensorData?: number;\n voiceMapData?: number;\n name?: string;\n skin?: string;\n skinPref?: string;\n voice?: string;\n typeDescription?: string;\n sensorGroup: number;\n targetData: number;\n dataBlockRef?: number;\n damageLevel: number;\n}\n\nexport interface PathManagerEntry {\n entryId: number;\n records: {\n field0: number;\n field1: number;\n field2: number;\n auxField: number;\n }[];\n}\n\nexport interface InitialBlockData {\n taggedStrings: Map<number, string>;\n dataBlockHeaders: DataBlockHeader[];\n dataBlockCount: number;\n dataBlocks: Map<number, ParsedDataBlock>;\n /** Initial $firstPerson state from GameConnection::writeDemoStartBlock. */\n firstPerson: boolean;\n connectionFields: number[];\n stateArray: number[];\n scoreEntries: ScoreEntry[];\n demoValues: string[];\n sensorGroupColors: SensorGroupColor[];\n targetEntries: TargetEntry[];\n connectionState: ConnectionProtocolState;\n roundTripTime: number;\n packetLoss: number;\n pathManager: PathManagerEntry[];\n notifyCount: number;\n nextRecvEventSeq: number;\n ghostingSequence: number;\n initialGhosts: GhostUpdate[];\n initialEvents: NetEventInfo[];\n controlObjectGhostIndex: number;\n controlObjectData?: ParsedData;\n /** Compression point established by the control object's readPacketData\n * (its position), used to decode compressed points in packets that\n * precede the first in-stream compression-point update. */\n initialCompressionPoint?: { x: number; y: number; z: number };\n missionName: string;\n missionCRC: number;\n phase2TrailingBits?: number;\n phase2Valid?: boolean;\n phase2Error?: string;\n}\n\nexport interface DemoHeader {\n identString: string;\n protocolVersion: number;\n demoLengthMs: number;\n initialBlockSize: number;\n}\n\nexport interface DemoFile {\n header: DemoHeader;\n initialBlock: InitialBlockData;\n blocks: DemoBlock[];\n}\n\nexport interface LoadResult {\n header: DemoHeader;\n initialBlock: InitialBlockData;\n}\n"]}
|