arx-convert 5.17.0 → 6.1.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 +1 -1
- package/dist/amb/AMB.d.ts +10 -0
- package/dist/amb/AMB.js +25 -0
- package/dist/amb/AMB.js.map +1 -0
- package/dist/amb/AmbHeader.d.ts +15 -0
- package/dist/amb/AmbHeader.js +31 -0
- package/dist/amb/AmbHeader.js.map +1 -0
- package/dist/amb/Key.d.ts +30 -0
- package/dist/amb/Key.js +46 -0
- package/dist/amb/Key.js.map +1 -0
- package/dist/amb/Setting.d.ts +28 -0
- package/dist/amb/Setting.js +40 -0
- package/dist/amb/Setting.js.map +1 -0
- package/dist/amb/Track.d.ts +39 -0
- package/dist/amb/Track.js +76 -0
- package/dist/amb/Track.js.map +1 -0
- package/dist/amb/constants.d.ts +14 -0
- package/dist/amb/constants.js +21 -0
- package/dist/amb/constants.js.map +1 -0
- package/dist/bin/constants.d.ts +2 -2
- package/dist/bin/constants.js +1 -1
- package/dist/bin/constants.js.map +1 -1
- package/dist/bin/convert.js +6 -2
- package/dist/bin/convert.js.map +1 -1
- package/dist/bin/helpers.d.ts +2 -2
- package/dist/bin/helpers.js +1 -1
- package/dist/bin/helpers.js.map +1 -1
- package/dist/common/BinaryIO.d.ts +5 -3
- package/dist/common/BinaryIO.js +12 -9
- package/dist/common/BinaryIO.js.map +1 -1
- package/dist/common/Color.js +1 -1
- package/dist/common/Color.js.map +1 -1
- package/dist/common/constants.d.ts +2 -6
- package/dist/common/constants.js +3 -140
- package/dist/common/constants.js.map +1 -1
- package/dist/common/helpers.d.ts +1 -5
- package/dist/common/helpers.js +10 -30
- package/dist/common/helpers.js.map +1 -1
- package/dist/common/types.d.ts +30 -0
- package/dist/dlf/DLF.d.ts +6 -14
- package/dist/dlf/DLF.js +5 -5
- package/dist/dlf/DLF.js.map +1 -1
- package/dist/dlf/DlfHeader.js +1 -1
- package/dist/dlf/DlfHeader.js.map +1 -1
- package/dist/dlf/Fog.js +1 -1
- package/dist/dlf/Fog.js.map +1 -1
- package/dist/dlf/InteactiveObject.js +1 -1
- package/dist/dlf/InteactiveObject.js.map +1 -1
- package/dist/dlf/Scene.js +1 -1
- package/dist/dlf/Scene.js.map +1 -1
- package/dist/dlf/ZoneAndPathHeader.js +1 -1
- package/dist/dlf/ZoneAndPathHeader.js.map +1 -1
- package/dist/dlf/{ZoneAndPoint.d.ts → ZoneAndPathPoint.d.ts} +0 -0
- package/dist/dlf/{ZoneAndPoint.js → ZoneAndPathPoint.js} +2 -2
- package/dist/dlf/ZoneAndPathPoint.js.map +1 -0
- package/dist/ftl/FTL.js +1 -1
- package/dist/ftl/FTL.js.map +1 -1
- package/dist/ftl/FtlHeader.js +1 -1
- package/dist/ftl/FtlHeader.js.map +1 -1
- package/dist/ftl/constants.d.ts +1 -0
- package/dist/ftl/constants.js +5 -0
- package/dist/ftl/constants.js.map +1 -0
- package/dist/fts/Anchor.js +1 -1
- package/dist/fts/Anchor.js.map +1 -1
- package/dist/fts/AnchorData.js +1 -1
- package/dist/fts/AnchorData.js.map +1 -1
- package/dist/fts/Cell.js +1 -1
- package/dist/fts/Cell.js.map +1 -1
- package/dist/fts/EPData.js +1 -1
- package/dist/fts/EPData.js.map +1 -1
- package/dist/fts/FTS.js +4 -3
- package/dist/fts/FTS.js.map +1 -1
- package/dist/fts/FtsHeader.js +3 -3
- package/dist/fts/FtsHeader.js.map +1 -1
- package/dist/fts/Polygon.js +1 -1
- package/dist/fts/Polygon.js.map +1 -1
- package/dist/fts/Portal.js +1 -1
- package/dist/fts/Portal.js.map +1 -1
- package/dist/fts/PortalPolygon.js +1 -1
- package/dist/fts/PortalPolygon.js.map +1 -1
- package/dist/fts/Room.js +1 -1
- package/dist/fts/Room.js.map +1 -1
- package/dist/fts/RoomData.js +1 -1
- package/dist/fts/RoomData.js.map +1 -1
- package/dist/fts/RoomDistance.js +1 -1
- package/dist/fts/RoomDistance.js.map +1 -1
- package/dist/fts/SceneHeader.js +3 -2
- package/dist/fts/SceneHeader.js.map +1 -1
- package/dist/fts/SceneInfo.js +1 -1
- package/dist/fts/SceneInfo.js.map +1 -1
- package/dist/fts/TextureContainer.js +1 -1
- package/dist/fts/TextureContainer.js.map +1 -1
- package/dist/fts/TextureVertex.js +1 -1
- package/dist/fts/TextureVertex.js.map +1 -1
- package/dist/fts/UniqueHeader.js +1 -1
- package/dist/fts/UniqueHeader.js.map +1 -1
- package/dist/fts/Vertex.js +1 -1
- package/dist/fts/Vertex.js.map +1 -1
- package/dist/fts/constants.d.ts +3 -0
- package/dist/fts/constants.js +140 -0
- package/dist/fts/constants.js.map +1 -0
- package/dist/fts/helpers.d.ts +5 -0
- package/dist/fts/helpers.js +37 -0
- package/dist/fts/helpers.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/llf/LLF.js +1 -1
- package/dist/llf/LLF.js.map +1 -1
- package/dist/llf/Light.js +1 -1
- package/dist/llf/Light.js.map +1 -1
- package/dist/llf/LightingHeader.js +1 -1
- package/dist/llf/LightingHeader.js.map +1 -1
- package/dist/llf/LlfHeader.js +1 -1
- package/dist/llf/LlfHeader.js.map +1 -1
- package/dist/tea/NewKeyFrame.js +2 -2
- package/dist/tea/NewKeyFrame.js.map +1 -1
- package/dist/tea/OldKeyFrame.js +1 -1
- package/dist/tea/OldKeyFrame.js.map +1 -1
- package/dist/tea/TEA.d.ts +2 -2
- package/dist/tea/TEA.js +2 -2
- package/dist/tea/TEA.js.map +1 -1
- package/dist/tea/TeaHeader.js +2 -2
- package/dist/tea/TeaHeader.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.js +7 -7
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +6 -6
- package/dist/dlf/ZoneAndPoint.js.map +0 -1
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ the inputfile and --output parameters can be omitted and then the code can be us
|
|
|
26
26
|
|
|
27
27
|
`cat <inputfile> | arx-convert --from=<format> --to=<format> > <outputfile>`
|
|
28
28
|
|
|
29
|
-
the format parameter can be one of the following arx formats: `dlf`, `llf`, `fts`
|
|
29
|
+
the format parameter can be one of the following arx formats: `dlf`, `llf`, `fts` or `amb`
|
|
30
30
|
|
|
31
31
|
work in progress formats: `ftl` and `tea`
|
|
32
32
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Buffer } from 'node:buffer';
|
|
3
|
+
import { ArxTrack } from './Track';
|
|
4
|
+
export type ArxAMB = {
|
|
5
|
+
tracks: ArxTrack[];
|
|
6
|
+
};
|
|
7
|
+
export declare class AMB {
|
|
8
|
+
static load(decompressedFile: Buffer): ArxAMB;
|
|
9
|
+
static save(json: ArxAMB): Buffer;
|
|
10
|
+
}
|
package/dist/amb/AMB.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AMB = void 0;
|
|
4
|
+
const node_buffer_1 = require("node:buffer");
|
|
5
|
+
const BinaryIO_1 = require("../common/BinaryIO");
|
|
6
|
+
const helpers_1 = require("../common/helpers");
|
|
7
|
+
const AmbHeader_1 = require("./AmbHeader");
|
|
8
|
+
const Track_1 = require("./Track");
|
|
9
|
+
class AMB {
|
|
10
|
+
static load(decompressedFile) {
|
|
11
|
+
const file = new BinaryIO_1.BinaryIO(decompressedFile);
|
|
12
|
+
const { numberOfTracks, isNewerVersion } = AmbHeader_1.AmbHeader.readFrom(file);
|
|
13
|
+
const data = {
|
|
14
|
+
tracks: (0, helpers_1.times)(() => Track_1.Track.readFrom(file, isNewerVersion), numberOfTracks),
|
|
15
|
+
};
|
|
16
|
+
return data;
|
|
17
|
+
}
|
|
18
|
+
static save(json) {
|
|
19
|
+
const header = AmbHeader_1.AmbHeader.accumulateFrom(json);
|
|
20
|
+
const tracks = node_buffer_1.Buffer.concat(json.tracks.map(Track_1.Track.accumulateFrom));
|
|
21
|
+
return node_buffer_1.Buffer.concat([header, tracks]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.AMB = AMB;
|
|
25
|
+
//# sourceMappingURL=AMB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AMB.js","sourceRoot":"","sources":["../../src/amb/AMB.ts"],"names":[],"mappings":";;;AAAA,6CAAoC;AACpC,+CAA2C;AAC3C,6CAAuC;AACvC,8CAA0C;AAC1C,sCAA4C;AAM5C,MAAa,GAAG;IACd,MAAM,CAAC,IAAI,CAAC,gBAAwB;QAClC,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE3C,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,qBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEnE,MAAM,IAAI,GAAW;YACnB,MAAM,EAAE,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,aAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC;SAC1E,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,qBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,oBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAK,CAAC,cAAc,CAAC,CAAC,CAAA;QAEnE,OAAO,oBAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,CAAC;CACF;AAnBD,kBAmBC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BinaryIO } from '../common/BinaryIO';
|
|
3
|
+
import { ArxAMB } from './AMB';
|
|
4
|
+
export type ArxAmbHeader = {
|
|
5
|
+
isNewerVersion: boolean;
|
|
6
|
+
numberOfTracks: number;
|
|
7
|
+
};
|
|
8
|
+
export declare class AmbHeader {
|
|
9
|
+
/**
|
|
10
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L627
|
|
11
|
+
*/
|
|
12
|
+
static readFrom(binary: BinaryIO): ArxAmbHeader;
|
|
13
|
+
static accumulateFrom(json: ArxAMB): Buffer;
|
|
14
|
+
static sizeOf(): number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AmbHeader = void 0;
|
|
4
|
+
const BinaryIO_1 = require("../common/BinaryIO");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
class AmbHeader {
|
|
7
|
+
/**
|
|
8
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L627
|
|
9
|
+
*/
|
|
10
|
+
static readFrom(binary) {
|
|
11
|
+
binary.readString(4); // identifier - always "GAMB"
|
|
12
|
+
const version = binary.readUint32();
|
|
13
|
+
return {
|
|
14
|
+
isNewerVersion: version >= constants_1.VERSION_1002,
|
|
15
|
+
numberOfTracks: binary.readUint32(),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static accumulateFrom(json) {
|
|
19
|
+
const buffer = Buffer.alloc(AmbHeader.sizeOf());
|
|
20
|
+
const binary = new BinaryIO_1.BinaryIO(buffer);
|
|
21
|
+
binary.writeString('GAMB', 4);
|
|
22
|
+
binary.writeInt32(constants_1.VERSION_1003);
|
|
23
|
+
binary.writeInt32(json.tracks.length);
|
|
24
|
+
return buffer;
|
|
25
|
+
}
|
|
26
|
+
static sizeOf() {
|
|
27
|
+
return BinaryIO_1.BinaryIO.sizeOfString(4) + BinaryIO_1.BinaryIO.sizeOfInt32() * 2;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.AmbHeader = AmbHeader;
|
|
31
|
+
//# sourceMappingURL=AmbHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmbHeader.js","sourceRoot":"","sources":["../../src/amb/AmbHeader.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C,8CAA2D;AAO3D,MAAa,SAAS;IACpB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAgB;QAC9B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAC,6BAA6B;QAElD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAEnC,OAAO;YACL,cAAc,EAAE,OAAO,IAAI,wBAAY;YACvC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;SACpC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,UAAU,CAAC,wBAAY,CAAC,CAAA;QAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAErC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,mBAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,mBAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC;CACF;AA7BD,8BA6BC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BinaryIO } from '../common/BinaryIO';
|
|
3
|
+
import { ArxSetting } from './Setting';
|
|
4
|
+
/**
|
|
5
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L168
|
|
6
|
+
*/
|
|
7
|
+
export type ArxKey = {
|
|
8
|
+
flags: number;
|
|
9
|
+
/** milliseconds */
|
|
10
|
+
start: number;
|
|
11
|
+
loop: number;
|
|
12
|
+
/** milliseconds */
|
|
13
|
+
delayMin: number;
|
|
14
|
+
/** milliseconds */
|
|
15
|
+
delayMax: number;
|
|
16
|
+
volume: ArxSetting;
|
|
17
|
+
pitch: ArxSetting;
|
|
18
|
+
pan: ArxSetting;
|
|
19
|
+
x: ArxSetting;
|
|
20
|
+
y: ArxSetting;
|
|
21
|
+
z: ArxSetting;
|
|
22
|
+
};
|
|
23
|
+
export declare class Key {
|
|
24
|
+
/**
|
|
25
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L187
|
|
26
|
+
*/
|
|
27
|
+
static readFrom(binary: BinaryIO): ArxKey;
|
|
28
|
+
static accumulateFrom(key: ArxKey): Buffer;
|
|
29
|
+
static sizeOf(): number;
|
|
30
|
+
}
|
package/dist/amb/Key.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Key = void 0;
|
|
4
|
+
const BinaryIO_1 = require("../common/BinaryIO");
|
|
5
|
+
const Setting_1 = require("./Setting");
|
|
6
|
+
class Key {
|
|
7
|
+
/**
|
|
8
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L187
|
|
9
|
+
*/
|
|
10
|
+
static readFrom(binary) {
|
|
11
|
+
return {
|
|
12
|
+
flags: binary.readUint32(),
|
|
13
|
+
start: binary.readUint32(),
|
|
14
|
+
loop: binary.readUint32() + 1,
|
|
15
|
+
delayMin: binary.readUint32(),
|
|
16
|
+
delayMax: binary.readUint32(),
|
|
17
|
+
volume: Setting_1.Setting.readFrom(binary),
|
|
18
|
+
pitch: Setting_1.Setting.readFrom(binary),
|
|
19
|
+
pan: Setting_1.Setting.readFrom(binary),
|
|
20
|
+
x: Setting_1.Setting.readFrom(binary),
|
|
21
|
+
y: Setting_1.Setting.readFrom(binary),
|
|
22
|
+
z: Setting_1.Setting.readFrom(binary),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static accumulateFrom(key) {
|
|
26
|
+
const buffer = Buffer.alloc(Key.sizeOf());
|
|
27
|
+
const binary = new BinaryIO_1.BinaryIO(buffer);
|
|
28
|
+
binary.writeUint32(key.flags);
|
|
29
|
+
binary.writeUint32(key.start);
|
|
30
|
+
binary.writeUint32(key.loop - 1);
|
|
31
|
+
binary.writeUint32(key.delayMin);
|
|
32
|
+
binary.writeUint32(key.delayMax);
|
|
33
|
+
binary.writeBuffer(Setting_1.Setting.accumulateFrom(key.volume));
|
|
34
|
+
binary.writeBuffer(Setting_1.Setting.accumulateFrom(key.pitch));
|
|
35
|
+
binary.writeBuffer(Setting_1.Setting.accumulateFrom(key.pan));
|
|
36
|
+
binary.writeBuffer(Setting_1.Setting.accumulateFrom(key.x));
|
|
37
|
+
binary.writeBuffer(Setting_1.Setting.accumulateFrom(key.y));
|
|
38
|
+
binary.writeBuffer(Setting_1.Setting.accumulateFrom(key.z));
|
|
39
|
+
return buffer;
|
|
40
|
+
}
|
|
41
|
+
static sizeOf() {
|
|
42
|
+
return BinaryIO_1.BinaryIO.sizeOfInt32() * 5 + Setting_1.Setting.sizeOf() * 6;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.Key = Key;
|
|
46
|
+
//# sourceMappingURL=Key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../src/amb/Key.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,0CAAkD;AAsBlD,MAAa,GAAG;IACd;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAgB;QAC9B,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YAC1B,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YAC1B,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;YAC7B,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;YAC7B,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;YAE7B,MAAM,EAAE,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/B,GAAG,EAAE,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7B,CAAC,EAAE,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,CAAC,EAAE,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,CAAC,EAAE,iBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC5B,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAW;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEhC,MAAM,CAAC,WAAW,CAAC,iBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QACtD,MAAM,CAAC,WAAW,CAAC,iBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,WAAW,CAAC,iBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,MAAM,CAAC,WAAW,CAAC,iBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,WAAW,CAAC,iBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,WAAW,CAAC,iBAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEjD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,mBAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,iBAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1D,CAAC;CACF;AA5CD,kBA4CC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BinaryIO } from '../common/BinaryIO';
|
|
3
|
+
/**
|
|
4
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L84
|
|
5
|
+
*/
|
|
6
|
+
export declare enum ArxSettingFlag {
|
|
7
|
+
None = 0,
|
|
8
|
+
Random = 1,
|
|
9
|
+
Interpolate = 2
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L90
|
|
13
|
+
*/
|
|
14
|
+
export type ArxSetting = {
|
|
15
|
+
min: number;
|
|
16
|
+
max: number;
|
|
17
|
+
/** milliseconds */
|
|
18
|
+
interval: number;
|
|
19
|
+
flags: ArxSettingFlag;
|
|
20
|
+
};
|
|
21
|
+
export declare class Setting {
|
|
22
|
+
/**
|
|
23
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L107
|
|
24
|
+
*/
|
|
25
|
+
static readFrom(binary: BinaryIO): ArxSetting;
|
|
26
|
+
static accumulateFrom(setting: ArxSetting): Buffer;
|
|
27
|
+
static sizeOf(): number;
|
|
28
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Setting = exports.ArxSettingFlag = void 0;
|
|
4
|
+
const BinaryIO_1 = require("../common/BinaryIO");
|
|
5
|
+
/**
|
|
6
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L84
|
|
7
|
+
*/
|
|
8
|
+
var ArxSettingFlag;
|
|
9
|
+
(function (ArxSettingFlag) {
|
|
10
|
+
ArxSettingFlag[ArxSettingFlag["None"] = 0] = "None";
|
|
11
|
+
ArxSettingFlag[ArxSettingFlag["Random"] = 1] = "Random";
|
|
12
|
+
ArxSettingFlag[ArxSettingFlag["Interpolate"] = 2] = "Interpolate";
|
|
13
|
+
})(ArxSettingFlag = exports.ArxSettingFlag || (exports.ArxSettingFlag = {}));
|
|
14
|
+
class Setting {
|
|
15
|
+
/**
|
|
16
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L107
|
|
17
|
+
*/
|
|
18
|
+
static readFrom(binary) {
|
|
19
|
+
return {
|
|
20
|
+
min: binary.readFloat32(),
|
|
21
|
+
max: binary.readFloat32(),
|
|
22
|
+
interval: binary.readUint32(),
|
|
23
|
+
flags: binary.readUint32(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static accumulateFrom(setting) {
|
|
27
|
+
const buffer = Buffer.alloc(Setting.sizeOf());
|
|
28
|
+
const binary = new BinaryIO_1.BinaryIO(buffer);
|
|
29
|
+
binary.writeFloat32(setting.min);
|
|
30
|
+
binary.writeFloat32(setting.max);
|
|
31
|
+
binary.writeUint32(setting.interval);
|
|
32
|
+
binary.writeUint32(setting.flags);
|
|
33
|
+
return buffer;
|
|
34
|
+
}
|
|
35
|
+
static sizeOf() {
|
|
36
|
+
return BinaryIO_1.BinaryIO.sizeOfFloat32() * 2 + BinaryIO_1.BinaryIO.sizeOfInt32() * 2;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.Setting = Setting;
|
|
40
|
+
//# sourceMappingURL=Setting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Setting.js","sourceRoot":"","sources":["../../src/amb/Setting.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAE3C;;GAEG;AACH,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mDAAQ,CAAA;IACR,uDAAe,CAAA;IACf,iEAAoB,CAAA;AACtB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAaD,MAAa,OAAO;IAClB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAgB;QAC9B,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE;YACzB,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE;YACzB,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;YAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;SAC3B,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,OAAmB;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEjC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,mBAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,mBAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAClE,CAAC;CACF;AA5BD,0BA4BC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BinaryIO } from '../common/BinaryIO';
|
|
3
|
+
import { ArxKey } from './Key';
|
|
4
|
+
/**
|
|
5
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L230
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ArxTrackFlags {
|
|
8
|
+
None = 0,
|
|
9
|
+
Position = 1,
|
|
10
|
+
Master = 4,
|
|
11
|
+
Paused = 16,
|
|
12
|
+
Prefetched = 32
|
|
13
|
+
}
|
|
14
|
+
export type ArxTrack = {
|
|
15
|
+
filename: string;
|
|
16
|
+
flags: ArxTrackFlags;
|
|
17
|
+
keys: ArxKey[];
|
|
18
|
+
};
|
|
19
|
+
export declare class Track {
|
|
20
|
+
/**
|
|
21
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L531
|
|
22
|
+
*/
|
|
23
|
+
static readFrom(binary: BinaryIO, isNewerVersion: boolean): ArxTrack;
|
|
24
|
+
static accumulateFrom(track: ArxTrack): Buffer;
|
|
25
|
+
/**
|
|
26
|
+
* from: SFX\\AMBIANCE\\LOOP_GOBLIN_MAIN.WAV
|
|
27
|
+
* to: loop_goblin_main.wav
|
|
28
|
+
*
|
|
29
|
+
* from: SFX\\AMBIANCE\\FX_ADDON\\SCREAM3.WAV
|
|
30
|
+
* to: fx_addon/scream3.wav
|
|
31
|
+
*/
|
|
32
|
+
static toRelativePath(filename: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* from: loop_goblin_main.wav
|
|
35
|
+
* to: sfx\\ambiance\\loop_goblin_main.wav
|
|
36
|
+
*/
|
|
37
|
+
static toAbsolutePath(filename: string): string;
|
|
38
|
+
static sizeOf(track: ArxTrack): number;
|
|
39
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Track = exports.ArxTrackFlags = void 0;
|
|
4
|
+
const BinaryIO_1 = require("../common/BinaryIO");
|
|
5
|
+
const helpers_1 = require("../common/helpers");
|
|
6
|
+
const Key_1 = require("./Key");
|
|
7
|
+
/**
|
|
8
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L230
|
|
9
|
+
*/
|
|
10
|
+
var ArxTrackFlags;
|
|
11
|
+
(function (ArxTrackFlags) {
|
|
12
|
+
ArxTrackFlags[ArxTrackFlags["None"] = 0] = "None";
|
|
13
|
+
ArxTrackFlags[ArxTrackFlags["Position"] = 1] = "Position";
|
|
14
|
+
// ? = 1 << 1,
|
|
15
|
+
ArxTrackFlags[ArxTrackFlags["Master"] = 4] = "Master";
|
|
16
|
+
// ? = 1 << 3,
|
|
17
|
+
ArxTrackFlags[ArxTrackFlags["Paused"] = 16] = "Paused";
|
|
18
|
+
ArxTrackFlags[ArxTrackFlags["Prefetched"] = 32] = "Prefetched";
|
|
19
|
+
})(ArxTrackFlags = exports.ArxTrackFlags || (exports.ArxTrackFlags = {}));
|
|
20
|
+
class Track {
|
|
21
|
+
/**
|
|
22
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L531
|
|
23
|
+
*/
|
|
24
|
+
static readFrom(binary, isNewerVersion) {
|
|
25
|
+
const filename = this.toRelativePath(binary.readString());
|
|
26
|
+
if (isNewerVersion) {
|
|
27
|
+
binary.readString(); // name - always ""
|
|
28
|
+
}
|
|
29
|
+
const flags = binary.readUint32();
|
|
30
|
+
const numberOfKeys = binary.readUint32();
|
|
31
|
+
const keys = (0, helpers_1.times)(() => Key_1.Key.readFrom(binary), numberOfKeys);
|
|
32
|
+
if (isNewerVersion) {
|
|
33
|
+
keys.reverse();
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
filename,
|
|
37
|
+
flags,
|
|
38
|
+
keys,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static accumulateFrom(track) {
|
|
42
|
+
const buffer = Buffer.alloc(Track.sizeOf(track));
|
|
43
|
+
const binary = new BinaryIO_1.BinaryIO(buffer);
|
|
44
|
+
binary.writeString(this.toAbsolutePath(track.filename));
|
|
45
|
+
binary.writeString(''); // name
|
|
46
|
+
binary.writeUint32(track.flags);
|
|
47
|
+
binary.writeUint32(track.keys.length);
|
|
48
|
+
binary.writeBuffer(Buffer.concat(track.keys.reverse().map(Key_1.Key.accumulateFrom)));
|
|
49
|
+
return buffer;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* from: SFX\\AMBIANCE\\LOOP_GOBLIN_MAIN.WAV
|
|
53
|
+
* to: loop_goblin_main.wav
|
|
54
|
+
*
|
|
55
|
+
* from: SFX\\AMBIANCE\\FX_ADDON\\SCREAM3.WAV
|
|
56
|
+
* to: fx_addon/scream3.wav
|
|
57
|
+
*/
|
|
58
|
+
static toRelativePath(filename) {
|
|
59
|
+
return filename.toLowerCase().replace(/\\/g, '/').replace('sfx/ambiance/', '');
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* from: loop_goblin_main.wav
|
|
63
|
+
* to: sfx\\ambiance\\loop_goblin_main.wav
|
|
64
|
+
*/
|
|
65
|
+
static toAbsolutePath(filename) {
|
|
66
|
+
return 'sfx\\ambiance\\' + filename.toLowerCase().replace(/\//g, '\\');
|
|
67
|
+
}
|
|
68
|
+
static sizeOf(track) {
|
|
69
|
+
return (BinaryIO_1.BinaryIO.sizeOfNullTerminatedString(track.filename) +
|
|
70
|
+
BinaryIO_1.BinaryIO.sizeOfNullTerminatedString('') +
|
|
71
|
+
BinaryIO_1.BinaryIO.sizeOfUint32() * 2 +
|
|
72
|
+
Key_1.Key.sizeOf() * track.keys.length);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.Track = Track;
|
|
76
|
+
//# sourceMappingURL=Track.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Track.js","sourceRoot":"","sources":["../../src/amb/Track.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,6CAAuC;AACvC,kCAAsC;AAEtC;;GAEG;AACH,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,yDAAiB,CAAA;IACjB,cAAc;IACd,qDAAe,CAAA;IACf,cAAc;IACd,sDAAe,CAAA;IACf,8DAAmB,CAAA;AACrB,CAAC,EARW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAQxB;AAQD,MAAa,KAAK;IAChB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAgB,EAAE,cAAuB;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;QAEzD,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,UAAU,EAAE,CAAA,CAAC,mBAAmB;SACxC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAExC,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,SAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAA;QAC5D,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE,CAAA;SACf;QAED,OAAO;YACL,QAAQ;YACR,KAAK;YACL,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAe;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAA;QAEnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA,CAAC,OAAO;QAC9B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,SAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,QAAgB;QACpC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,QAAgB;QACpC,OAAO,iBAAiB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAe;QAC3B,OAAO,CACL,mBAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC;YACnD,mBAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACvC,mBAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;YAC3B,SAAG,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CACjC,CAAA;IACH,CAAC;CACF;AAlED,sBAkEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0x03 0x00 0x00 0x01
|
|
3
|
+
* used in sfx/ambience/ambient_blackthing.amb
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L78
|
|
6
|
+
*/
|
|
7
|
+
export declare const VERSION_1003 = 16777219;
|
|
8
|
+
/**
|
|
9
|
+
* 0x02 0x00 0x00 0x01
|
|
10
|
+
* used in sfx/ambience/ambient_crypt_e.amb
|
|
11
|
+
*
|
|
12
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L77
|
|
13
|
+
*/
|
|
14
|
+
export declare const VERSION_1002 = 16777218;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERSION_1002 = exports.VERSION_1003 = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 0x03 0x00 0x00 0x01
|
|
6
|
+
* used in sfx/ambience/ambient_blackthing.amb
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L78
|
|
9
|
+
*/
|
|
10
|
+
exports.VERSION_1003 = 16777219;
|
|
11
|
+
/**
|
|
12
|
+
* 0x02 0x00 0x00 0x01
|
|
13
|
+
* used in sfx/ambience/ambient_crypt_e.amb
|
|
14
|
+
*
|
|
15
|
+
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L77
|
|
16
|
+
*/
|
|
17
|
+
exports.VERSION_1002 = 16777218;
|
|
18
|
+
// There exists an even older version: 16777218
|
|
19
|
+
// 0x01 0x00 0x00 0x01
|
|
20
|
+
// used in ambient_gob_intro.amb
|
|
21
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/amb/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,YAAY,GAAG,QAAQ,CAAA;AAEpC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,QAAQ,CAAA;AAEpC,+CAA+C;AAC/C,sBAAsB;AACtB,gCAAgC"}
|
package/dist/bin/constants.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare const SUPPORTED_ARX_FORMATS: readonly ["dlf", "fts", "llf", "ftl", "tea"];
|
|
1
|
+
export declare const SUPPORTED_ARX_FORMATS: readonly ["dlf", "fts", "llf", "ftl", "tea", "amb"];
|
|
2
2
|
export declare const SUPPORTED_DATA_FORMATS: readonly ["json", "yaml", "yml"];
|
|
3
|
-
export declare const SUPPORTED_FORMATS: readonly ["dlf", "fts", "llf", "ftl", "tea", "json", "yaml", "yml"];
|
|
3
|
+
export declare const SUPPORTED_FORMATS: readonly ["dlf", "fts", "llf", "ftl", "tea", "amb", "json", "yaml", "yml"];
|
|
4
4
|
export type SupportedArxFormat = typeof SUPPORTED_ARX_FORMATS[number];
|
|
5
5
|
export type SupportedDataFormat = typeof SUPPORTED_DATA_FORMATS[number];
|
|
6
6
|
export type SupportedFormat = typeof SUPPORTED_FORMATS[number];
|
package/dist/bin/constants.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SUPPORTED_FORMATS = exports.SUPPORTED_DATA_FORMATS = exports.SUPPORTED_ARX_FORMATS = void 0;
|
|
4
|
-
exports.SUPPORTED_ARX_FORMATS = ['dlf', 'fts', 'llf', 'ftl', 'tea'];
|
|
4
|
+
exports.SUPPORTED_ARX_FORMATS = ['dlf', 'fts', 'llf', 'ftl', 'tea', 'amb'];
|
|
5
5
|
exports.SUPPORTED_DATA_FORMATS = ['json', 'yaml', 'yml'];
|
|
6
6
|
exports.SUPPORTED_FORMATS = [...exports.SUPPORTED_ARX_FORMATS, ...exports.SUPPORTED_DATA_FORMATS];
|
|
7
7
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bin/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/bin/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;AAC3E,QAAA,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAA;AACzD,QAAA,iBAAiB,GAAG,CAAC,GAAG,6BAAqB,EAAE,GAAG,8BAAsB,CAAU,CAAA"}
|
package/dist/bin/convert.js
CHANGED
|
@@ -112,6 +112,9 @@ const args = (0, minimist_lite_1.default)(process.argv.slice(2), {
|
|
|
112
112
|
case 'tea':
|
|
113
113
|
parsedIn = index_1.TEA.load(rawIn);
|
|
114
114
|
break;
|
|
115
|
+
case 'amb':
|
|
116
|
+
parsedIn = index_1.AMB.load(rawIn);
|
|
117
|
+
break;
|
|
115
118
|
}
|
|
116
119
|
let rawOut;
|
|
117
120
|
switch (args.to) {
|
|
@@ -137,8 +140,9 @@ const args = (0, minimist_lite_1.default)(process.argv.slice(2), {
|
|
|
137
140
|
case 'tea':
|
|
138
141
|
rawOut = index_1.TEA.save(parsedIn);
|
|
139
142
|
break;
|
|
140
|
-
|
|
141
|
-
rawOut =
|
|
143
|
+
case 'amb':
|
|
144
|
+
rawOut = index_1.AMB.save(parsedIn);
|
|
145
|
+
break;
|
|
142
146
|
}
|
|
143
147
|
(0, helpers_1.outputInChunks)(rawOut, output);
|
|
144
148
|
}))();
|
package/dist/bin/convert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/bin/convert.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kEAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/bin/convert.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/helpers.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export declare const stringifyJSON: (json: any, prettify?: boolean) => string;
|
|
|
10
10
|
export declare const stringifyYAML: (json: any) => Promise<string>;
|
|
11
11
|
export declare const evenAndRemainder: (divisor: number, n: number) => [number, number];
|
|
12
12
|
export declare const outputInChunks: (buffer: string | Buffer, stream: NodeJS.WritableStream, chunkSize?: number) => void;
|
|
13
|
-
export declare const isValidFormat: (arg: string) => arg is "dlf" | "fts" | "llf" | "ftl" | "tea" | "json" | "yaml" | "yml";
|
|
14
|
-
export declare const isArxFormat: (arg: SupportedFormat) => arg is "dlf" | "fts" | "llf" | "ftl" | "tea";
|
|
13
|
+
export declare const isValidFormat: (arg: string) => arg is "dlf" | "fts" | "llf" | "ftl" | "tea" | "amb" | "json" | "yaml" | "yml";
|
|
14
|
+
export declare const isArxFormat: (arg: SupportedFormat) => arg is "dlf" | "fts" | "llf" | "ftl" | "tea" | "amb";
|
|
15
15
|
export declare const isDataFormat: (arg: SupportedFormat) => arg is "json" | "yaml" | "yml";
|
|
16
16
|
export declare const getInputStream: (filename?: string) => Promise<NodeJS.ReadableStream>;
|
|
17
17
|
export declare const getOutputStream: (filename?: string) => Promise<NodeJS.WritableStream>;
|
package/dist/bin/helpers.js
CHANGED
|
@@ -67,7 +67,7 @@ const streamToBuffer = (input) => {
|
|
|
67
67
|
chunks.push(chunk);
|
|
68
68
|
});
|
|
69
69
|
input.on('end', () => {
|
|
70
|
-
resolve(node_buffer_1.Buffer.concat(chunks));
|
|
70
|
+
resolve(node_buffer_1.Buffer.from(node_buffer_1.Buffer.concat(chunks), 0));
|
|
71
71
|
});
|
|
72
72
|
input.on('error', (e) => {
|
|
73
73
|
reject(e);
|
package/dist/bin/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/bin/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAC5B,6CAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/bin/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAC5B,6CAAoC;AACpC,8CAOuB;AAEhB,MAAM,iBAAiB,GAAG,GAAS,EAAE;IAC1C,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,iBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAA;QAChG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAwB,CAAA;QAC5D,OAAO,OAAO,CAAA;KACf;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,SAAS,CAAA;KACjB;AACH,CAAC,CAAA,CAAA;AARY,QAAA,iBAAiB,qBAQ7B;AAED,MAAM,UAAU,GAAG,CAAO,QAAgB,EAAE,EAAE;IAC5C,IAAI;QACF,MAAM,iBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,KAA4B,EAAmB,EAAE;IAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,oBAAM,CAAC,IAAI,CAAC,oBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE;YAC/B,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAEM,MAAM,aAAa,GAAG,CAAC,IAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;IAC3D,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;KACxC;SAAM;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;KAC5B;AACH,CAAC,CAAA;AANY,QAAA,aAAa,iBAMzB;AAEM,MAAM,aAAa,GAAG,CAAO,IAAS,EAAE,EAAE;IAC/C,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAA;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC,CAAA,CAAA;AAHY,QAAA,aAAa,iBAGzB;AAED,MAAM,WAAW,GAAG,CAAC,MAAuB,EAAE,KAAc,EAAE,GAAY,EAAE,EAAE;IAC5E,IAAI,MAAM,YAAY,oBAAM,EAAE;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;KACnC;SAAM;QACL,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;KAChC;AACH,CAAC,CAAA;AAEM,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,CAAS,EAAoB,EAAE;IAC/E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAA;AAC/C,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B;AAEM,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAE,MAA6B,EAAE,YAAoB,IAAI,EAAE,EAAE;IACjH,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;KACtE;IAED,IAAI,iBAAiB,GAAG,CAAC,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAA;KACnE;IAED,MAAM,CAAC,GAAG,EAAE,CAAA;AACd,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B;AAEM,MAAM,aAAa,GAAG,CAAC,GAAW,EAA0B,EAAE;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,6BAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjD,IAAI,6BAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAChC,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,aAAa,iBAOzB;AAEM,MAAM,WAAW,GAAG,CAAC,GAAoB,EAA6B,EAAE;IAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iCAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrD,IAAI,iCAAqB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACpC,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB;AAEM,MAAM,YAAY,GAAG,CAAC,GAAoB,EAA8B,EAAE;IAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kCAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtD,IAAI,kCAAsB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACrC,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,YAAY,gBAOxB;AAEM,MAAM,cAAc,GAAG,CAAO,QAAiB,EAAkC,EAAE;IACxF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACnC,OAAO,OAAO,CAAC,SAAS,EAAE,CAAA;KAC3B;IAED,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC9B,OAAO,iBAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;KACrC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC9C,CAAC,CAAA,CAAA;AAVY,QAAA,cAAc,kBAU1B;AAEM,MAAM,eAAe,GAAG,CAAO,QAAiB,EAAkC,EAAE;IACzF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACnC,OAAO,OAAO,CAAC,MAAM,CAAA;KACtB;IAED,OAAO,iBAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC,CAAA,CAAA;AANY,QAAA,eAAe,mBAM3B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { TRUNCATE_ZERO_BYTES, KEEP_ZERO_BYTES } from './constants';
|
|
2
3
|
import { ArxQuaternion, ArxRotation, ArxVector3 } from './types';
|
|
3
4
|
export declare class BinaryIO extends DataView {
|
|
4
5
|
position: number;
|
|
5
|
-
constructor(buffer:
|
|
6
|
+
constructor(buffer: Buffer, byteOffset?: number, byteLength?: number);
|
|
6
7
|
readFloat32(): number;
|
|
7
8
|
readFloat32Array(length: number): number[];
|
|
8
9
|
readInt8(): number;
|
|
@@ -31,8 +32,8 @@ export declare class BinaryIO extends DataView {
|
|
|
31
32
|
writeUint16Array(values: number[]): void;
|
|
32
33
|
writeUint32(value: number): void;
|
|
33
34
|
writeUint32Array(values: number[]): void;
|
|
34
|
-
readString(length?: number, truncateZeroBytes?:
|
|
35
|
-
writeString(str: string, length
|
|
35
|
+
readString(length?: number, truncateZeroBytes?: typeof TRUNCATE_ZERO_BYTES | typeof KEEP_ZERO_BYTES): string;
|
|
36
|
+
writeString(str: string, length?: number): void;
|
|
36
37
|
readVector3(): ArxVector3;
|
|
37
38
|
readVector3Array(length: number): ArxVector3[];
|
|
38
39
|
writeVector3({ x, y, z }: ArxVector3): void;
|
|
@@ -57,6 +58,7 @@ export declare class BinaryIO extends DataView {
|
|
|
57
58
|
static sizeOfUint32(): 4;
|
|
58
59
|
static sizeOfUint32Array(length: number): number;
|
|
59
60
|
static sizeOfString(length: number): number;
|
|
61
|
+
static sizeOfNullTerminatedString(str: string): number;
|
|
60
62
|
static sizeOfVector3(): number;
|
|
61
63
|
static sizeOfVector3Array(length: number): number;
|
|
62
64
|
static sizeOfRotation(): number;
|
package/dist/common/BinaryIO.js
CHANGED
|
@@ -5,7 +5,7 @@ const helpers_1 = require("./helpers");
|
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
class BinaryIO extends DataView {
|
|
7
7
|
constructor(buffer, byteOffset, byteLength) {
|
|
8
|
-
super(buffer, byteOffset, byteLength);
|
|
8
|
+
super(buffer.buffer, byteOffset, byteLength);
|
|
9
9
|
this.position = 0;
|
|
10
10
|
}
|
|
11
11
|
readFloat32() {
|
|
@@ -157,7 +157,14 @@ class BinaryIO extends DataView {
|
|
|
157
157
|
}
|
|
158
158
|
readString(length, truncateZeroBytes = constants_1.TRUNCATE_ZERO_BYTES) {
|
|
159
159
|
const codes = [];
|
|
160
|
-
if (length
|
|
160
|
+
if (length === undefined) {
|
|
161
|
+
let c = this.readUint8();
|
|
162
|
+
while (c !== 0) {
|
|
163
|
+
codes.push(c);
|
|
164
|
+
c = this.readUint8();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
161
168
|
for (let i = 0; i < length; i++) {
|
|
162
169
|
const c = this.readUint8();
|
|
163
170
|
if (c !== 0 || truncateZeroBytes === constants_1.KEEP_ZERO_BYTES) {
|
|
@@ -165,13 +172,6 @@ class BinaryIO extends DataView {
|
|
|
165
172
|
}
|
|
166
173
|
}
|
|
167
174
|
}
|
|
168
|
-
else {
|
|
169
|
-
let c = this.readUint8();
|
|
170
|
-
while (c !== 0) {
|
|
171
|
-
codes.push(c);
|
|
172
|
-
c = this.readUint8();
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
175
|
return (0, helpers_1.decodeText)(codes);
|
|
176
176
|
}
|
|
177
177
|
writeString(str, length) {
|
|
@@ -275,6 +275,9 @@ class BinaryIO extends DataView {
|
|
|
275
275
|
static sizeOfString(length) {
|
|
276
276
|
return length;
|
|
277
277
|
}
|
|
278
|
+
static sizeOfNullTerminatedString(str) {
|
|
279
|
+
return str.length + 1;
|
|
280
|
+
}
|
|
278
281
|
static sizeOfVector3() {
|
|
279
282
|
return BinaryIO.sizeOfFloat32Array(3);
|
|
280
283
|
}
|