arx-convert 10.2.0 → 10.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/common/helpers.d.ts
CHANGED
|
@@ -11,5 +11,10 @@ export declare function encodeText(text: string): number[];
|
|
|
11
11
|
export declare function clamp(min: number, max: number, n: number): number;
|
|
12
12
|
/**
|
|
13
13
|
* @see https://stackoverflow.com/a/49129872/1806628
|
|
14
|
+
* @deprecated This will be superceeded by concatArrayBuffers
|
|
14
15
|
*/
|
|
15
16
|
export declare function concatUint8Arrays(buffers: Uint8Array[]): Uint8Array;
|
|
17
|
+
/**
|
|
18
|
+
* @see https://stackoverflow.com/a/49129872/1806628
|
|
19
|
+
*/
|
|
20
|
+
export declare function concatArrayBuffers(buffers: ArrayBuffer[]): ArrayBuffer;
|
package/dist/common/helpers.js
CHANGED
|
@@ -60,6 +60,7 @@ export function clamp(min, max, n) {
|
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* @see https://stackoverflow.com/a/49129872/1806628
|
|
63
|
+
* @deprecated This will be superceeded by concatArrayBuffers
|
|
63
64
|
*/
|
|
64
65
|
export function concatUint8Arrays(buffers) {
|
|
65
66
|
if (buffers.length === 0) {
|
|
@@ -76,4 +77,22 @@ export function concatUint8Arrays(buffers) {
|
|
|
76
77
|
});
|
|
77
78
|
return combinedBuffer;
|
|
78
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* @see https://stackoverflow.com/a/49129872/1806628
|
|
82
|
+
*/
|
|
83
|
+
export function concatArrayBuffers(buffers) {
|
|
84
|
+
if (buffers.length === 0) {
|
|
85
|
+
return new ArrayBuffer(0);
|
|
86
|
+
}
|
|
87
|
+
const totalLength = buffers.reduce((sum, buffer) => {
|
|
88
|
+
return sum + buffer.byteLength;
|
|
89
|
+
}, 0);
|
|
90
|
+
const combinedBuffer = new Uint8Array(totalLength);
|
|
91
|
+
let offset = 0;
|
|
92
|
+
buffers.forEach((buffer) => {
|
|
93
|
+
combinedBuffer.set(new Uint8Array(buffer), offset);
|
|
94
|
+
offset = offset + buffer.byteLength;
|
|
95
|
+
});
|
|
96
|
+
return combinedBuffer.buffer;
|
|
97
|
+
}
|
|
79
98
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/common/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAErG,MAAM,UAAU,MAAM,CAAC,GAAa;IAClC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;IAClB,IAAI,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAA;IAElC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACT,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;YACjB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAI,MAAW;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,EAAwB,EAAE,WAAmB;IACpE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9D,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,KAAQ,EAAE,WAAmB;IACrD,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAgB;IACrC,MAAM,GAAG,GAA2B,EAAE,CAAA;IAEtC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAe;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,CAAS;IACvD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/common/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import { BinaryIO } from '../common/BinaryIO.js';
|
|
3
2
|
import { repeat } from '../common/helpers.js';
|
|
4
3
|
export class InteractiveObject {
|
|
@@ -40,7 +39,15 @@ export class InteractiveObject {
|
|
|
40
39
|
// items/provisions/pie/pie.teo
|
|
41
40
|
// items/provisions/mushroom/food_mushroom.teo
|
|
42
41
|
filePath = filePath.toLowerCase().replaceAll('\\', '/').split('graph/obj3d/interactive/')[1];
|
|
43
|
-
const { dir, name } = path.parse(filePath)
|
|
42
|
+
// browser compatible version of `const { dir, name } = path.parse(filePath)`
|
|
43
|
+
const filePathParts = filePath.split('/');
|
|
44
|
+
const fileName = filePathParts.pop();
|
|
45
|
+
const fileNameParts = fileName.split('.');
|
|
46
|
+
if (fileNameParts.length > 1) {
|
|
47
|
+
fileNameParts.pop();
|
|
48
|
+
}
|
|
49
|
+
const dir = filePathParts.join('/');
|
|
50
|
+
const name = fileNameParts.join('.');
|
|
44
51
|
if (dir.split('/').at(-1) !== name) {
|
|
45
52
|
return dir + '/' + name + '.asl';
|
|
46
53
|
}
|
|
@@ -56,7 +63,15 @@ export class InteractiveObject {
|
|
|
56
63
|
static toAbsolutePath(filePath) {
|
|
57
64
|
filePath = filePath.toLowerCase().replace(/\/$/, '');
|
|
58
65
|
if (filePath.endsWith('.asl')) {
|
|
59
|
-
const { dir, name } = path.parse(filePath)
|
|
66
|
+
// browser compatible version of `const { dir, name } = path.parse(filePath)`
|
|
67
|
+
const filePathParts = filePath.split('/');
|
|
68
|
+
const fileName = filePathParts.pop();
|
|
69
|
+
const fileNameParts = fileName.split('.');
|
|
70
|
+
if (fileNameParts.length > 1) {
|
|
71
|
+
fileNameParts.pop();
|
|
72
|
+
}
|
|
73
|
+
const dir = filePathParts.join('/');
|
|
74
|
+
const name = fileNameParts.join('.');
|
|
60
75
|
return `c:\\arx\\graph\\obj3d\\interactive\\${dir.replaceAll('/', '\\')}\\${name}.teo`;
|
|
61
76
|
}
|
|
62
77
|
const dir = filePath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteactiveObject.js","sourceRoot":"","sources":["../../src/dlf/InteactiveObject.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"InteactiveObject.js","sourceRoot":"","sources":["../../src/dlf/InteactiveObject.ts"],"names":[],"mappings":"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"}
|