@rhyster/wow-casc-dbc 2.9.16 → 2.10.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/dist/dbd.d.ts.map +1 -1
- package/dist/index.cjs +26 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +26 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/dbd.ts +29 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rhyster/wow-casc-dbc",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "Fetch World of Warcraft data files from CASC and parse DBC/DB2 files.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"author": "Rhythm",
|
|
39
39
|
"license": "MIT",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@rhyster/eslint-config": "^1.7.
|
|
41
|
+
"@rhyster/eslint-config": "^1.7.1",
|
|
42
42
|
"@types/async": "^3.2.24",
|
|
43
43
|
"@types/cli-progress": "^3.11.6",
|
|
44
44
|
"@types/node": "^22.13.1",
|
|
45
|
-
"eslint": "^9.20.
|
|
45
|
+
"eslint": "^9.20.1",
|
|
46
46
|
"tsx": "^4.19.2",
|
|
47
47
|
"typescript": "^5.7.3",
|
|
48
48
|
"unbuild": "^3.3.1"
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"async": "^3.2.6",
|
|
52
52
|
"cli-progress": "^3.12.0"
|
|
53
53
|
},
|
|
54
|
-
"packageManager": "pnpm@10.
|
|
54
|
+
"packageManager": "pnpm@10.3.0"
|
|
55
55
|
}
|
package/src/dbd.ts
CHANGED
|
@@ -284,20 +284,39 @@ export default class DBDParser {
|
|
|
284
284
|
4 * column.arraySize,
|
|
285
285
|
);
|
|
286
286
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
287
|
+
if (dstSize > 6) {
|
|
288
|
+
assert(dstSize === 8, `Unexpected size ${dstSize.toString()} for column ${column.name}`);
|
|
289
|
+
|
|
290
|
+
const values: bigint[] = [];
|
|
291
|
+
if (column.isSigned) {
|
|
292
|
+
for (let i = 0; i < column.arraySize; i += 1) {
|
|
293
|
+
const value = castBuffer.readBigInt64LE(i * dstSize);
|
|
294
|
+
values.push(value);
|
|
295
|
+
}
|
|
296
|
+
} else {
|
|
297
|
+
for (let i = 0; i < column.arraySize; i += 1) {
|
|
298
|
+
const value = castBuffer.readBigUInt64LE(i * dstSize);
|
|
299
|
+
values.push(value);
|
|
300
|
+
}
|
|
292
301
|
}
|
|
302
|
+
|
|
303
|
+
data[column.name] = values;
|
|
293
304
|
} else {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
305
|
+
const values: number[] = [];
|
|
306
|
+
if (column.isSigned) {
|
|
307
|
+
for (let i = 0; i < column.arraySize; i += 1) {
|
|
308
|
+
const value = castBuffer.readIntLE(i * dstSize, dstSize);
|
|
309
|
+
values.push(value);
|
|
310
|
+
}
|
|
311
|
+
} else {
|
|
312
|
+
for (let i = 0; i < column.arraySize; i += 1) {
|
|
313
|
+
const value = castBuffer.readUIntLE(i * dstSize, dstSize);
|
|
314
|
+
values.push(value);
|
|
315
|
+
}
|
|
297
316
|
}
|
|
298
|
-
}
|
|
299
317
|
|
|
300
|
-
|
|
318
|
+
data[column.name] = values;
|
|
319
|
+
}
|
|
301
320
|
} else if (typeof cell.data === 'number') {
|
|
302
321
|
data[column.name] = castIntegerBySize(
|
|
303
322
|
cell.data,
|