diff --git a/package.json b/package.json index 3ac2e08..c58d6db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oblivion-save-reader", - "version": "0.5.0", + "version": "1.2", "description": "Library to read ES4:Oblivion save files", "main": "test.js", "scripts": { @@ -10,9 +10,10 @@ "server": "tsc && node --loader ts-node/esm --experimental-specifier-resolution=node server/server.ts", "esm_to_json": "tsc && cross-env NODE_OPTIONS=--max-old-space-size=20480 node --expose-gc --loader ts-node/esm --experimental-specifier-resolution=node esm/esm_to_json.ts", "esm_to_sqlite": "tsc && cross-env NODE_OPTIONS=--max-old-space-size=20480 node --expose-gc --loader ts-node/esm --experimental-specifier-resolution=node esm/esm_to_sqlite.ts", - "pkg": "tsc && pkg --compress GZip --out-path dist/bin dist/server/server.js && pkg --compress GZip --out-path dist/bin --options \"expose-gc,loader=ts-node/esm,experimental-specifier-resolution=node\" dist/esm/esm_to_sqlite.js" + "pkg": "tsc && pkg --compress GZip --out-path dist/bin dist/server/server.js && pkg --compress GZip --out-path dist/bin --options \"expose-gc,loader=ts-node/esm,experimental-specifier-resolution=node\" dist/esm/esm_to_sqlite.js", + "pkg_test": "tsc && webpack --mode production && zip -r dist/bin/oblivion-save-reader-v${npm_package_version}.zip test.html test.js dist/bundle.savefile.* dist/bundle.record.* dist/save" }, - "author": "", + "author": "valarnin", "license": "MIT", "devDependencies": { "@types/argparse": "^2.0.10", diff --git a/test.js b/test.js index a1f6ae5..1a827c8 100644 --- a/test.js +++ b/test.js @@ -190,8 +190,10 @@ const rebuildGatesTable = (saveFile = undefined) => { let record = saveFile.records.find((e) => e.formId === gate.formId); if (record) { if (record.flags & 0x7000005 === 0x7000005) { - status = '✔'; - ++completed; + if (record.subRecord && record.subRecord.flags !== undefined && (record.subRecord.flags & 0x2000) === 0x2000) { + status = '✔'; + ++completed; + } } } } @@ -625,8 +627,10 @@ const rebuildFameTable = (saveFile = undefined) => { let record = saveFile.records.find((e) => e.formId === gate.formId); if (record) { if (record.flags & 0x7000005 === 0x7000005) { - gatesCurrent += gate.fame; - totalCurrent += gate.fame; + if (record.subRecord && record.subRecord.flags !== undefined && (record.subRecord.flags & 0x2000) === 0x2000) { + gatesCurrent += gate.fame; + totalCurrent += gate.fame; + } } } }