arx-convert 11.1.0 → 13.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 +16 -6
- package/dist/amb/AMB.d.ts +1 -0
- package/dist/amb/AMB.js +1 -0
- package/dist/amb/AMB.js.map +1 -1
- package/dist/common/Color.js +1 -1
- package/dist/common/Color.js.map +1 -1
- package/dist/common/types.d.ts +20 -0
- package/dist/dlf/DLF.d.ts +4 -4
- package/dist/dlf/DLF.js +16 -10
- package/dist/dlf/DLF.js.map +1 -1
- package/dist/dlf/DlfHeader.d.ts +16 -5
- package/dist/dlf/DlfHeader.js +13 -11
- package/dist/dlf/DlfHeader.js.map +1 -1
- package/dist/dlf/Fog.d.ts +23 -5
- package/dist/dlf/Fog.js +4 -4
- package/dist/dlf/Fog.js.map +1 -1
- package/dist/dlf/{InteactiveObject.d.ts → InteractiveObject.d.ts} +6 -2
- package/dist/dlf/{InteactiveObject.js → InteractiveObject.js} +5 -5
- package/dist/dlf/InteractiveObject.js.map +1 -0
- package/dist/dlf/ZoneAndPathHeader.d.ts +7 -3
- package/dist/dlf/ZoneAndPathHeader.js +6 -6
- package/dist/dlf/ZoneAndPathHeader.js.map +1 -1
- package/dist/dlf/ZoneAndPathPoint.d.ts +6 -3
- package/dist/dlf/ZoneAndPathPoint.js +17 -12
- package/dist/dlf/ZoneAndPathPoint.js.map +1 -1
- package/dist/ftl/FTL.d.ts +3 -1
- package/dist/ftl/FTL.js +1 -0
- package/dist/ftl/FTL.js.map +1 -1
- package/dist/ftl/Face.d.ts +5 -1
- package/dist/ftl/Face.js +5 -1
- package/dist/ftl/Face.js.map +1 -1
- package/dist/fts/Anchor.d.ts +2 -1
- package/dist/fts/Anchor.js.map +1 -1
- package/dist/fts/AnchorData.d.ts +1 -1
- package/dist/fts/AnchorData.js +3 -3
- package/dist/fts/AnchorData.js.map +1 -1
- package/dist/fts/EPData.d.ts +2 -2
- package/dist/fts/EPData.js +4 -4
- package/dist/fts/EPData.js.map +1 -1
- package/dist/fts/FTS.d.ts +13 -5
- package/dist/fts/FTS.js +27 -3
- package/dist/fts/FTS.js.map +1 -1
- package/dist/fts/FtsHeader.js +1 -1
- package/dist/fts/FtsHeader.js.map +1 -1
- package/dist/fts/Polygon.d.ts +8 -5
- package/dist/fts/Polygon.js +23 -7
- package/dist/fts/Polygon.js.map +1 -1
- package/dist/fts/Portal.d.ts +1 -2
- package/dist/fts/Portal.js +6 -5
- package/dist/fts/Portal.js.map +1 -1
- package/dist/fts/RoomDistance.d.ts +3 -0
- package/dist/fts/RoomDistance.js +1 -1
- package/dist/fts/RoomDistance.js.map +1 -1
- package/dist/fts/SceneHeader.d.ts +3 -0
- package/dist/fts/SceneHeader.js +3 -3
- package/dist/fts/SceneHeader.js.map +1 -1
- package/dist/fts/TextureContainer.d.ts +3 -0
- package/dist/fts/TextureContainer.js.map +1 -1
- package/dist/fts/TextureVertex.d.ts +3 -1
- package/dist/fts/TextureVertex.js +2 -2
- package/dist/fts/TextureVertex.js.map +1 -1
- package/dist/fts/helpers.d.ts +4 -0
- package/dist/fts/helpers.js +10 -0
- package/dist/fts/helpers.js.map +1 -1
- package/dist/llf/LLF.d.ts +6 -1
- package/dist/llf/LLF.js +1 -0
- package/dist/llf/LLF.js.map +1 -1
- package/dist/llf/Light.d.ts +11 -13
- package/dist/llf/Light.js +2 -2
- package/dist/llf/Light.js.map +1 -1
- package/dist/llf/LlfHeader.d.ts +6 -3
- package/dist/llf/LlfHeader.js +7 -7
- package/dist/llf/LlfHeader.js.map +1 -1
- package/dist/tea/KeyFrame.d.ts +1 -1
- package/dist/tea/KeyFrame.js +2 -2
- package/dist/tea/KeyFrame.js.map +1 -1
- package/dist/tea/TEA.d.ts +2 -1
- package/dist/tea/TEA.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
- package/schemas/amb.schema.json +123 -0
- package/schemas/dlf.schema.json +408 -0
- package/schemas/ftl.schema.json +253 -0
- package/schemas/fts.schema.json +414 -0
- package/schemas/llf.schema.json +169 -0
- package/schemas/tea.schema.json +7 -7
- package/dist/dlf/InteactiveObject.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneHeader.js","sourceRoot":"","sources":["../../src/fts/SceneHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"SceneHeader.js","sourceRoot":"","sources":["../../src/fts/SceneHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAiB/C,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,MAAiC;QAC/C,MAAM,CAAC,WAAW,EAAE,CAAA,CAAC,+BAA+B;QACpD,MAAM,CAAC,SAAS,EAAE,CAAA,CAAC,oCAAoC;QACvD,MAAM,CAAC,SAAS,EAAE,CAAA,CAAC,oCAAoC;QAEvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAE3C,MAAM,CAAC,SAAS,EAAE,CAAA,CAAC,gFAAgF;QAEnG,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAE1C,MAAM,CAAC,WAAW,EAAE,CAAA,CAAC,yHAAyH;QAE9I,OAAO;YACL,gBAAgB;YAChB,eAAe;YACf,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE;YACpC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE;YACnC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,qEAAqE;SAC7G,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7C,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QAChC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA,CAAC,iHAAiH;QAC3J,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAC/C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAEhC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,QAAQ,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACrG,CAAC;CACF"}
|
|
@@ -4,6 +4,9 @@ import { BinaryIO } from '../common/BinaryIO.js';
|
|
|
4
4
|
*/
|
|
5
5
|
export type ArxTextureContainer = {
|
|
6
6
|
id: number;
|
|
7
|
+
/**
|
|
8
|
+
* Filename of an image within graph/obj3d/textures, like "[stone]_human_castle_wall1.bmp"
|
|
9
|
+
*/
|
|
7
10
|
filename: string;
|
|
8
11
|
};
|
|
9
12
|
export declare class TextureContainer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureContainer.js","sourceRoot":"","sources":["../../src/fts/TextureContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"TextureContainer.js","sourceRoot":"","sources":["../../src/fts/TextureContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAa9C,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,MAAiC;QAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAE7B,MAAM,CAAC,SAAS,EAAE,CAAA,CAAC,kBAAkB;QAErC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAExE,OAAO;YACL,EAAE;YACF,QAAQ;SACT,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,gBAAqC;QACzD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,OAAO;QAC5B,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAA;QAEnF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAgB;QACpC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;IACvE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAgB;QACpC,OAAO,0BAA0B,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAClE,CAAC;CACF"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BinaryIO } from '../common/BinaryIO.js';
|
|
2
2
|
import type { ArxVector3 } from '../common/types.js';
|
|
3
3
|
/**
|
|
4
|
+
* D3DTLVERTEX with hardcoded color, specular, tu and tv values
|
|
5
|
+
*
|
|
4
6
|
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/graphics/GraphicsFormat.h#L82
|
|
5
7
|
* @see https://learn.microsoft.com/en-us/previous-versions/ms896915(v=msdn.10)
|
|
6
8
|
*/
|
|
@@ -8,7 +10,7 @@ export type ArxTextureVertex = {
|
|
|
8
10
|
/**
|
|
9
11
|
* sx, sy and sz of D3DTLVERTEX (screen coordinates)
|
|
10
12
|
*/
|
|
11
|
-
|
|
13
|
+
position: ArxVector3;
|
|
12
14
|
/**
|
|
13
15
|
* portal bounds radius - used by ARX_PORTALS_Frustrum_ComputeRoom
|
|
14
16
|
*
|
|
@@ -25,7 +25,7 @@ const HARDCODED_DATA_TYPE2 = {
|
|
|
25
25
|
export class TextureVertex {
|
|
26
26
|
static readFrom(binary) {
|
|
27
27
|
const data = {
|
|
28
|
-
|
|
28
|
+
position: binary.readVector3(),
|
|
29
29
|
rhw: binary.readFloat32(),
|
|
30
30
|
};
|
|
31
31
|
Color.readFrom(binary, 'abgr'); // color
|
|
@@ -47,7 +47,7 @@ export class TextureVertex {
|
|
|
47
47
|
data = HARDCODED_DATA_TYPE1;
|
|
48
48
|
}
|
|
49
49
|
const { color, specular, tu, tv } = data;
|
|
50
|
-
binary.writeVector3(vertex.
|
|
50
|
+
binary.writeVector3(vertex.position);
|
|
51
51
|
if (isFirstVertexOfPolygon) {
|
|
52
52
|
binary.writeFloat32(vertex.rhw);
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureVertex.js","sourceRoot":"","sources":["../../src/fts/TextureVertex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAiB,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAUvD,MAAM,oBAAoB,GAAsB;IAC9C,KAAK,EAAE,KAAK,CAAC,WAAW;IACxB,QAAQ,EAAE,KAAK,CAAC,WAAW;IAC3B,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACN,CAAA;AAED,MAAM,oBAAoB,GAAsB;IAC9C,KAAK,EAAE;QACL,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,uBAAuB;KAC3B;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,wBAAwB;KAC5B;IACD,EAAE,EAAE,2BAA2B;IAC/B,EAAE,EAAE,yBAAyB;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"TextureVertex.js","sourceRoot":"","sources":["../../src/fts/TextureVertex.ts"],"names":[],"mappings":"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"}
|
package/dist/fts/helpers.d.ts
CHANGED
|
@@ -9,3 +9,7 @@ export declare function isTiled({ flags }: {
|
|
|
9
9
|
}): boolean;
|
|
10
10
|
export declare function addLightIndex(polygons: ArxPolygon[]): ArxPolygon[];
|
|
11
11
|
export declare function getCellCoords([a, b, c]: QuadrupleOf<ArxVertex>): DoubleOf<number>;
|
|
12
|
+
/**
|
|
13
|
+
* inclusive: min <= n <= max
|
|
14
|
+
*/
|
|
15
|
+
export declare function isBetween(min: number, max: number, n: number): boolean;
|
package/dist/fts/helpers.js
CHANGED
|
@@ -47,4 +47,14 @@ export function getCellCoords([a, b, c]) {
|
|
|
47
47
|
}
|
|
48
48
|
return [cellX, cellY];
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* inclusive: min <= n <= max
|
|
52
|
+
*/
|
|
53
|
+
export function isBetween(min, max, n) {
|
|
54
|
+
if (min > max) {
|
|
55
|
+
;
|
|
56
|
+
[max, min] = [min, max];
|
|
57
|
+
}
|
|
58
|
+
return n >= min && n <= max;
|
|
59
|
+
}
|
|
50
60
|
//# sourceMappingURL=helpers.js.map
|
package/dist/fts/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/fts/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAA8B;IAC1D,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,EAA8B;IAC3D,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAsB;IAClD,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAA;QACrC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAA;QACzC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAA;QACzC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QAEb,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAA;YACrC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QACf,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAwB;IACzD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAyB;IAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAE/B,IAAI,KAAa,CAAA;IACjB,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,KAAa,CAAA;IACjB,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/fts/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAA8B;IAC1D,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,EAA8B;IAC3D,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAsB;IAClD,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAA;QACrC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAA;QACzC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAA;QACzC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QAEb,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAA;YACrC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QACf,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAwB;IACzD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAyB;IAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAE/B,IAAI,KAAa,CAAA;IACjB,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,KAAa,CAAA;IACjB,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,CAAS;IAC3D,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACd,CAAC;QAAA,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAA;AAC7B,CAAC"}
|
package/dist/llf/LLF.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import type { Simplify } from 'type-fest';
|
|
1
2
|
import { type ArxColor } from '../common/Color.js';
|
|
2
3
|
import { type ArxLight } from './Light.js';
|
|
3
4
|
import { type ArxLlfHeader } from './LlfHeader.js';
|
|
4
5
|
export type ArxLLF = {
|
|
5
|
-
|
|
6
|
+
$schema?: string;
|
|
7
|
+
header: Simplify<Omit<ArxLlfHeader, 'numberOfLights'>>;
|
|
6
8
|
lights: ArxLight[];
|
|
9
|
+
/**
|
|
10
|
+
* pre-computed vertex light colors for FTS.polygons
|
|
11
|
+
*/
|
|
7
12
|
colors: ArxColor[];
|
|
8
13
|
};
|
|
9
14
|
export declare class LLF {
|
package/dist/llf/LLF.js
CHANGED
package/dist/llf/LLF.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLF.js","sourceRoot":"","sources":["../../src/llf/LLF.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LLF.js","sourceRoot":"","sources":["../../src/llf/LLF.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAiB,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAiB,KAAK,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAqB,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAYhE,MAAM,OAAO,GAAG;IACd,MAAM,CAAC,IAAI,CAAC,gBAAiC;QAC3C,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;YACxB,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC,EAAE,cAAc,CAAC,CAAA;QAElB,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;YACxB,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACrC,CAAC,EAAE,cAAc,CAAC,CAAA;QAElB,OAAO;YACL,OAAO,EAAE,qDAAqD;YAC9D,MAAM;YACN,MAAM;YACN,MAAM;SACP,CAAA;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;QAExE,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjE,MAAM,MAAM,GAAG,kBAAkB,CAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC,CAAC,CACH,CAAA;QAED,OAAO,kBAAkB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IACrE,CAAC;CACF"}
|
package/dist/llf/Light.d.ts
CHANGED
|
@@ -102,14 +102,14 @@ export declare enum ArxLightFlags {
|
|
|
102
102
|
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/scene/LevelFormat.h#L114
|
|
103
103
|
*/
|
|
104
104
|
export type ArxLight = {
|
|
105
|
-
|
|
105
|
+
position: ArxVector3;
|
|
106
106
|
color: ArxColor;
|
|
107
107
|
/**
|
|
108
|
-
* The radius of a sphere around `ArxLight.
|
|
108
|
+
* The radius of a sphere around `ArxLight.position` in which the light is at full intensity.
|
|
109
109
|
*/
|
|
110
110
|
fallStart: number;
|
|
111
111
|
/**
|
|
112
|
-
* The radius of a sphere around `ArxLight.
|
|
112
|
+
* The radius of a sphere around `ArxLight.position` where the light's intensity gradually fades to 0.
|
|
113
113
|
*/
|
|
114
114
|
fallEnd: number;
|
|
115
115
|
/**
|
|
@@ -119,30 +119,28 @@ export type ArxLight = {
|
|
|
119
119
|
/**
|
|
120
120
|
* This color periodically overrides `ArxLight.color`. The frequency of the flicker cannot be changed.
|
|
121
121
|
*
|
|
122
|
-
* TODO: what is the frequency?
|
|
123
|
-
*
|
|
124
122
|
* Subtractive color mixing is used, the color will get subtracted from `ArxLight.color` resulting in
|
|
125
123
|
* a negative color.
|
|
126
124
|
*/
|
|
127
125
|
exFlicker: ArxColor;
|
|
128
126
|
/**
|
|
129
127
|
* Determines the spread of the smoke and fire particles: creates a circle around the center of the
|
|
130
|
-
* light with a radius of `exRadius`.
|
|
128
|
+
* light with a radius of `ArxLight.exRadius`.
|
|
131
129
|
*
|
|
132
|
-
* When `SpawnFire` is set, then it also sets the radius of the spheare around the light's center which
|
|
130
|
+
* When `ArxLightFlags.SpawnFire` is set, then it also sets the radius of the spheare around the light's center which
|
|
133
131
|
* harms the NPCs and the player with fire damage when getting in contact.
|
|
134
132
|
*
|
|
135
133
|
* BUG: Surprisingly the spread is not even, particles to the left of the light (negative on the X axis)
|
|
136
|
-
* don't spawn, only to the right.
|
|
134
|
+
* don't spawn, only to the right. A fix for it in Arx Libertatis is awaiting approval: https://github.com/arx/ArxLibertatis/pull/301
|
|
137
135
|
*
|
|
138
136
|
* @see https://imgur.com/a/cN3if0A
|
|
139
137
|
*/
|
|
140
138
|
exRadius: number;
|
|
141
139
|
/**
|
|
142
|
-
* How frequently should the light source spawn
|
|
143
|
-
* set, or
|
|
140
|
+
* How frequently should the light source spawn flame particles when `ArxLight.flags` has `ArxLightFlags.SpawnFire`
|
|
141
|
+
* set, or smoke particles when `ArxLightFlags.SpawnSmoke` is set.
|
|
144
142
|
*
|
|
145
|
-
* The range is between 0.0 and 1.0 where 0 completely stops fire from spawning.
|
|
143
|
+
* The range is between 0.0 and 1.0 where 0.0 completely stops fire from spawning.
|
|
146
144
|
*/
|
|
147
145
|
exFrequency: number;
|
|
148
146
|
/**
|
|
@@ -160,9 +158,9 @@ export type ArxLight = {
|
|
|
160
158
|
exSpeed: number;
|
|
161
159
|
/**
|
|
162
160
|
* The radius of the flare/halo when `ArxLightFlags.Flare` is set.
|
|
163
|
-
* The value of exFlareSize is ignored when `ArxLightFlags.FixFlareSize` is set.
|
|
161
|
+
* The value of `exFlareSize` is ignored when `ArxLightFlags.FixFlareSize` is set.
|
|
164
162
|
*
|
|
165
|
-
* Danae only allows setting it to a maximum of 200, but there isn't any limitiations in the
|
|
163
|
+
* Danae only allows setting it to a maximum of 200, but there isn't any limitiations in the game.
|
|
166
164
|
*/
|
|
167
165
|
exFlareSize: number;
|
|
168
166
|
flags: ArxLightFlags;
|
package/dist/llf/Light.js
CHANGED
|
@@ -102,7 +102,7 @@ export var ArxLightFlags;
|
|
|
102
102
|
export class Light {
|
|
103
103
|
static readFrom(binary) {
|
|
104
104
|
const dataBlock1 = {
|
|
105
|
-
|
|
105
|
+
position: binary.readVector3(),
|
|
106
106
|
color: Color.readFrom(binary, 'rgb'),
|
|
107
107
|
fallStart: binary.readFloat32(),
|
|
108
108
|
fallEnd: binary.readFloat32(),
|
|
@@ -129,7 +129,7 @@ export class Light {
|
|
|
129
129
|
static accumulateFrom(light) {
|
|
130
130
|
const buffer = new ArrayBuffer(Light.sizeOf());
|
|
131
131
|
const binary = new BinaryIO(buffer);
|
|
132
|
-
binary.writeVector3(light.
|
|
132
|
+
binary.writeVector3(light.position);
|
|
133
133
|
binary.writeBuffer(Color.accumulateFrom(light.color, 'rgb'));
|
|
134
134
|
binary.writeFloat32(light.fallStart);
|
|
135
135
|
binary.writeFloat32(light.fallEnd);
|
package/dist/llf/Light.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Light.js","sourceRoot":"","sources":["../../src/llf/Light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAiB,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGlD;;GAEG;AACH,MAAM,CAAN,IAAY,aA6FX;AA7FD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR;;;;;;OAMG;IACH,+DAAoB,CAAA;IACpB;;;;;;;OAOG;IACH,qEAAuB,CAAA;IACvB;;;OAGG;IACH,2EAA0B,CAAA;IAC1B;;;;;;;OAOG;IACH,2DAAkB,CAAA;IAClB;;;;OAIG;IACH,8DAAmB,CAAA;IACnB;;;;OAIG;IACH,gDAAY,CAAA;IACZ;;;;;OAKG;IACH,gEAAoB,CAAA;IACpB;;;;;;;OAOG;IACH,2DAAiB,CAAA;IACjB;;;OAGG;IACH,mEAAqB,CAAA;IACrB;;;;;;;OAOG;IACH,6DAAkB,CAAA;IAClB;;;;;;OAMG;IACH,0DAAiB,CAAA;IACjB;;;;;;;;OAQG;IACH,sDAAe,CAAA;AACjB,CAAC,EA7FW,aAAa,KAAb,aAAa,QA6FxB;
|
|
1
|
+
{"version":3,"file":"Light.js","sourceRoot":"","sources":["../../src/llf/Light.ts"],"names":[],"mappings":"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"}
|
package/dist/llf/LlfHeader.d.ts
CHANGED
|
@@ -4,10 +4,13 @@ import type { ArxLLF } from './LLF.js';
|
|
|
4
4
|
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/scene/LevelFormat.h#L178
|
|
5
5
|
*/
|
|
6
6
|
export type ArxLlfHeader = {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
lastModifiedBy: string;
|
|
8
|
+
/**
|
|
9
|
+
* unix timestamp in seconds
|
|
10
|
+
*/
|
|
11
|
+
lastModifiedAt: number;
|
|
9
12
|
numberOfLights: number;
|
|
10
|
-
|
|
13
|
+
numberOfPolygonsInFTS: number;
|
|
11
14
|
};
|
|
12
15
|
export declare class LlfHeader {
|
|
13
16
|
static readFrom(binary: BinaryIO<ArrayBufferLike>): ArxLlfHeader;
|
package/dist/llf/LlfHeader.js
CHANGED
|
@@ -6,20 +6,20 @@ export class LlfHeader {
|
|
|
6
6
|
binary.readFloat32(); // version - always DANAE_VERSION
|
|
7
7
|
binary.readString(16); // identifier - always "DANAE_LLH_FILE"
|
|
8
8
|
const dataBlock = {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
lastModifiedBy: binary.readString(256),
|
|
10
|
+
lastModifiedAt: binary.readInt32(),
|
|
11
11
|
numberOfLights: binary.readInt32(),
|
|
12
12
|
};
|
|
13
13
|
binary.readInt32(); // number of shadow polygons - always 0
|
|
14
14
|
binary.readInt32(); // number of ignored polygons - always 0
|
|
15
|
-
const
|
|
15
|
+
const numberOfPolygonsInFTS = binary.readInt32();
|
|
16
16
|
binary.readInt32Array(256); // pad - ?
|
|
17
17
|
binary.readFloat32Array(256); // fpad - ?
|
|
18
18
|
binary.readString(4096); // cpad - ?
|
|
19
19
|
binary.readInt32Array(256); // bpad - ?
|
|
20
20
|
return {
|
|
21
21
|
...dataBlock,
|
|
22
|
-
|
|
22
|
+
numberOfPolygonsInFTS,
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
static accumulateFrom(json) {
|
|
@@ -27,12 +27,12 @@ export class LlfHeader {
|
|
|
27
27
|
const binary = new BinaryIO(buffer);
|
|
28
28
|
binary.writeFloat32(DANAE_VERSION);
|
|
29
29
|
binary.writeString('DANAE_LLH_FILE', 16);
|
|
30
|
-
binary.writeString(json.header.
|
|
31
|
-
binary.writeInt32(json.header.
|
|
30
|
+
binary.writeString(json.header.lastModifiedBy, 256);
|
|
31
|
+
binary.writeInt32(json.header.lastModifiedAt);
|
|
32
32
|
binary.writeInt32(json.lights.length);
|
|
33
33
|
binary.writeInt32(0); // number of shadow polygons
|
|
34
34
|
binary.writeInt32(0); // number of ignored polygons
|
|
35
|
-
binary.writeInt32(json.header.
|
|
35
|
+
binary.writeInt32(json.header.numberOfPolygonsInFTS);
|
|
36
36
|
binary.writeInt32Array(repeat(0, 256)); // pad
|
|
37
37
|
binary.writeFloat32Array(repeat(0, 256)); // fpad
|
|
38
38
|
binary.writeString('', 4096); // cpad
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlfHeader.js","sourceRoot":"","sources":["../../src/llf/LlfHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"LlfHeader.js","sourceRoot":"","sources":["../../src/llf/LlfHeader.ts"],"names":[],"mappings":"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"}
|
package/dist/tea/KeyFrame.d.ts
CHANGED
package/dist/tea/KeyFrame.js
CHANGED
|
@@ -59,7 +59,7 @@ export class KeyFrame {
|
|
|
59
59
|
flags,
|
|
60
60
|
isMasterKeyFrame,
|
|
61
61
|
isKeyFrame,
|
|
62
|
-
|
|
62
|
+
timeFrame: binary.readInt32(),
|
|
63
63
|
groups: [],
|
|
64
64
|
};
|
|
65
65
|
if (hasTranslateData) {
|
|
@@ -152,7 +152,7 @@ export class KeyFrame {
|
|
|
152
152
|
binary.writeInt32(0);
|
|
153
153
|
}
|
|
154
154
|
binary.writeInt32(0); // key_morph - ignored by Arx
|
|
155
|
-
binary.writeInt32(keyframe.
|
|
155
|
+
binary.writeInt32(keyframe.timeFrame);
|
|
156
156
|
if (keyframe.translate) {
|
|
157
157
|
binary.writeVector3(keyframe.translate);
|
|
158
158
|
}
|
package/dist/tea/KeyFrame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyFrame.js","sourceRoot":"","sources":["../../src/tea/KeyFrame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGpE;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAkCX;AAlCD,WAAY,wBAAwB;IAClC,uEAAQ,CAAA;IACR;;OAEG;IACH,uEAAa,CAAA;IACb;;OAEG;IACH,6EAAgB,CAAA;IAChB;;OAEG;IACH,2EAAe,CAAA;IACf;;OAEG;IACH,6EAAgB,CAAA;IAChB;;OAEG;IACH,oFAAmB,CAAA;IACnB;;OAEG;IACH,8EAAgB,CAAA;IAChB;;OAEG;IACH,kFAAkB,CAAA;IAClB;;OAEG;IACH,mFAAkB,CAAA;AACpB,CAAC,EAlCW,wBAAwB,KAAxB,wBAAwB,QAkCnC;AA+DD,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,MAAiC,EAAE,OAAe,EAAE,cAAsB;QACxF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QAEhC,MAAM,cAAc,GAAG,OAAO,IAAI,eAAe,CAAA;QACjD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,CAAC,sCAAsC;QAC/D,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA,CAAC,WAAW;QAC7D,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA,CAAC,aAAa;QAChE,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA,CAAC,wDAAwD;QAEtG,MAAM,QAAQ,GAAgB;YAC5B,KAAK;YACL,KAAK;YACL,gBAAgB;YAChB,UAAU;YACV,
|
|
1
|
+
{"version":3,"file":"KeyFrame.js","sourceRoot":"","sources":["../../src/tea/KeyFrame.ts"],"names":[],"mappings":"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"}
|
package/dist/tea/TEA.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { Simplify } from 'type-fest';
|
|
1
2
|
import { type ArxKeyFrame } from './KeyFrame.js';
|
|
2
3
|
import { type ArxTeaHeader } from './TeaHeader.js';
|
|
3
4
|
export type ArxTEA = {
|
|
4
5
|
$schema?: string;
|
|
5
|
-
header: Omit<ArxTeaHeader, 'numberOfKeyFrames' | 'numberOfGroups' | 'version'
|
|
6
|
+
header: Simplify<Omit<ArxTeaHeader, 'numberOfKeyFrames' | 'numberOfGroups' | 'version'>>;
|
|
6
7
|
keyframes: ArxKeyFrame[];
|
|
7
8
|
};
|
|
8
9
|
export declare class TEA {
|
package/dist/tea/TEA.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TEA.js","sourceRoot":"","sources":["../../src/tea/TEA.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TEA.js","sourceRoot":"","sources":["../../src/tea/TEA.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAoB,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAqB,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAQnD,MAAM,OAAO,GAAG;IACd,MAAM,CAAC,IAAI,CAAC,gBAAiC;QAC3C,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE3C,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE1F,IAAI,OAAO,GAAG,eAAe,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,IAAI,GAAW;YACnB,OAAO,EAAE,qDAAqD;YAC9D,MAAM;YACN,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE;gBACpB,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;YACzD,CAAC,EAAE,iBAAiB,CAAC;SACtB,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;QAEjF,OAAO,kBAAkB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IAChD,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type { ArxVector3, ArxRotation, ArxQuaternion } from './common/types.js';
|
|
|
3
3
|
export type { ArxZone, ArxPath, ArxDLF } from './dlf/DLF.js';
|
|
4
4
|
export type { ArxDlfHeader } from './dlf/DlfHeader.js';
|
|
5
5
|
export type { ArxFog } from './dlf/Fog.js';
|
|
6
|
-
export type { ArxInteractiveObject } from './dlf/
|
|
6
|
+
export type { ArxInteractiveObject } from './dlf/InteractiveObject.js';
|
|
7
7
|
export type { ArxZoneAndPathHeader } from './dlf/ZoneAndPathHeader.js';
|
|
8
8
|
export type { ArxZoneAndPathPoint } from './dlf/ZoneAndPathPoint.js';
|
|
9
9
|
export type { ArxScene } from './dlf/Scene.js';
|
package/package.json
CHANGED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://arx-tools.github.io/schemas/amb.schema.json",
|
|
4
|
+
"title": "AMB",
|
|
5
|
+
"description": "AMB (Ambience) format of Arx Fatalis interpreted as JSON by arx-convert",
|
|
6
|
+
"$defs": {
|
|
7
|
+
"uint32": {
|
|
8
|
+
"type": "integer",
|
|
9
|
+
"minimum": 0,
|
|
10
|
+
"maximum": 4294967295
|
|
11
|
+
},
|
|
12
|
+
"settings": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"min": {
|
|
16
|
+
"type": "number"
|
|
17
|
+
},
|
|
18
|
+
"max": {
|
|
19
|
+
"type": "number"
|
|
20
|
+
},
|
|
21
|
+
"interval": {
|
|
22
|
+
"description": "defined in milliseconds",
|
|
23
|
+
"$ref": "#/$defs/uint32"
|
|
24
|
+
},
|
|
25
|
+
"flags": {
|
|
26
|
+
"description": "see ArxSettingFlag for values",
|
|
27
|
+
"type": "integer",
|
|
28
|
+
"minimum": 0,
|
|
29
|
+
"maximum": 3
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": [
|
|
33
|
+
"min",
|
|
34
|
+
"max",
|
|
35
|
+
"interval",
|
|
36
|
+
"flags"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"tracks": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"properties": {
|
|
47
|
+
"filename": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"flags": {
|
|
51
|
+
"description": "see ArxTrackFlags for values",
|
|
52
|
+
"type": "integer",
|
|
53
|
+
"minimum": 0,
|
|
54
|
+
"maximum": 63
|
|
55
|
+
},
|
|
56
|
+
"keys": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"properties": {
|
|
61
|
+
"start": {
|
|
62
|
+
"$ref": "#/$defs/uint32"
|
|
63
|
+
},
|
|
64
|
+
"loop": {
|
|
65
|
+
"description": "uint32 + 1",
|
|
66
|
+
"type": "integer",
|
|
67
|
+
"minimum": 1,
|
|
68
|
+
"maximum": 4294967296
|
|
69
|
+
},
|
|
70
|
+
"delayMin": {
|
|
71
|
+
"description": "defined in milliseconds",
|
|
72
|
+
"$ref": "#/$defs/uint32"
|
|
73
|
+
},
|
|
74
|
+
"delayMax": {
|
|
75
|
+
"description": "defined in milliseconds",
|
|
76
|
+
"$ref": "#/$defs/uint32"
|
|
77
|
+
},
|
|
78
|
+
"volume": {
|
|
79
|
+
"$ref": "#/$defs/settings"
|
|
80
|
+
},
|
|
81
|
+
"pitch": {
|
|
82
|
+
"$ref": "#/$defs/settings"
|
|
83
|
+
},
|
|
84
|
+
"pan": {
|
|
85
|
+
"$ref": "#/$defs/settings"
|
|
86
|
+
},
|
|
87
|
+
"x": {
|
|
88
|
+
"$ref": "#/$defs/settings"
|
|
89
|
+
},
|
|
90
|
+
"y": {
|
|
91
|
+
"$ref": "#/$defs/settings"
|
|
92
|
+
},
|
|
93
|
+
"z": {
|
|
94
|
+
"$ref": "#/$defs/settings"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"required": [
|
|
98
|
+
"start",
|
|
99
|
+
"loop",
|
|
100
|
+
"delayMin",
|
|
101
|
+
"delayMax",
|
|
102
|
+
"volume",
|
|
103
|
+
"pitch",
|
|
104
|
+
"pan",
|
|
105
|
+
"x",
|
|
106
|
+
"y",
|
|
107
|
+
"z"
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"required": [
|
|
113
|
+
"filename",
|
|
114
|
+
"flags",
|
|
115
|
+
"keys"
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"required": [
|
|
121
|
+
"tracks"
|
|
122
|
+
]
|
|
123
|
+
}
|