diff --git a/src/d2/attributes.ts b/src/d2/attributes.ts index 48c0492..bcc855a 100644 --- a/src/d2/attributes.ts +++ b/src/d2/attributes.ts @@ -1,7 +1,6 @@ import * as types from "./types"; import { BitReader } from "../binary/bitreader"; import { BitWriter } from "../binary/bitwriter"; -import { read } from "./stash"; //todo use constants.magical_properties and csvBits export async function readAttributes(char: types.ID2S, reader: BitReader, constants: types.IConstantData) { diff --git a/src/d2/stash.ts b/src/d2/stash.ts index cbd8d54..4f96617 100644 --- a/src/d2/stash.ts +++ b/src/d2/stash.ts @@ -9,7 +9,7 @@ const defaultConfig = { extendedStash: false, } as types.IConfig; -export async function read( +export async function readStash( buffer: Uint8Array, constants: types.IConstantData, version: number, @@ -114,7 +114,7 @@ async function readStashPart(stash: types.IStash, reader: BitReader, version: nu stash.pages.push(page); } -export async function write( +export async function writeStash( data: types.IStash, constants: types.IConstantData, version: number, diff --git a/src/index.ts b/src/index.ts index 09743b1..f224739 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,3 +5,5 @@ export { readSkills, writeSkills } from "./d2/skills"; export { enhanceAttributes, enhanceItems, enhancePlayerAttributes } from "./d2/attribute_enhancer"; export * from "./data/parser"; export * as types from "./d2/types"; + +export * from "./d2/stash"; diff --git a/tests/d2/stash.spec.ts b/tests/d2/stash.spec.ts index ae8ab3f..d8e931f 100644 --- a/tests/d2/stash.spec.ts +++ b/tests/d2/stash.spec.ts @@ -1,5 +1,5 @@ import { expect, should } from "chai"; -import { read, write } from "../../src/d2/stash"; +import { readStash, writeStash } from "../../src/d2/stash"; import { constants } from "../../src/data/versions/96_constant_data"; import * as path from "path"; import * as fs from "fs"; @@ -7,7 +7,7 @@ import * as fs from "fs"; describe("stash", () => { it("should read D2R shared stash file", async () => { const buffer = fs.readFileSync(path.join(__dirname, `../../examples/stash/SharedStashSoftCoreV2.d2i`)); - const jsonData = await read(buffer, constants, 0x62); + const jsonData = await readStash(buffer, constants, 0x62); expect(jsonData.pageCount, "pageCount").to.eq(3); expect(jsonData.sharedGold, "sharedGold").to.eq(2500000); expect(jsonData.version, "version").to.eq("98"); @@ -15,16 +15,16 @@ describe("stash", () => { it("should write D2R shared stash file", async () => { const buffer = fs.readFileSync(path.join(__dirname, `../../examples/stash/SharedStashSoftCoreV2.d2i`)); - const jsonData = await read(buffer, constants, 0x62); + const jsonData = await readStash(buffer, constants, 0x62); - const savedBytes = await write(jsonData, constants, 0x62); + const savedBytes = await writeStash(jsonData, constants, 0x62); expect(buffer.compare(savedBytes)).to.eq(0); }); it("should read plugy shared stash file", async () => { const buffer = fs.readFileSync(path.join(__dirname, `../../examples/stash/_LOD_SharedStashSave.sss`)); - const jsonData = await read(buffer, constants, 0x60); + const jsonData = await readStash(buffer, constants, 0x60); expect(jsonData.pageCount, "pageCount").to.eq(145); expect(jsonData.sharedGold, "sharedGold").to.eq(5912844); @@ -33,9 +33,9 @@ describe("stash", () => { it("should provide read and write consistency for plugy shared stash file", async () => { const buffer = fs.readFileSync(path.join(__dirname, `../../examples/stash/_LOD_SharedStashSave.sss`)); - const jsonData = await read(buffer, constants, 0x60); - const newBuffer = await write(jsonData, constants, 0x60); - const newJson = await read(newBuffer, constants, 0x60); + const jsonData = await readStash(buffer, constants, 0x60); + const newBuffer = await writeStash(jsonData, constants, 0x60); + const newJson = await readStash(newBuffer, constants, 0x60); expect(buffer.length, "file size").to.eq(newBuffer.length); expect(newJson, "json").to.deep.eq(jsonData); @@ -43,7 +43,7 @@ describe("stash", () => { it("should read plugy private stash file", async () => { const buffer = fs.readFileSync(path.join(__dirname, `../../examples/stash/PrivateStash.d2x`)); - const jsonData = await read(buffer, constants, 0x60); + const jsonData = await readStash(buffer, constants, 0x60); expect(jsonData.pageCount, "pageCount").to.eq(56); expect(jsonData.sharedGold, "sharedGold").to.eq(0); expect(jsonData.version, "version").to.eq("01"); @@ -51,9 +51,9 @@ describe("stash", () => { it("should provide read and write consistency for plugy private stash file", async () => { const buffer = fs.readFileSync(path.join(__dirname, `../../examples/stash/PrivateStash.d2x`)); - const jsonData = await read(buffer, constants, 0x60); - const newBuffer = await write(jsonData, constants, 0x60); - const newJson = await read(newBuffer, constants, 0x60); + const jsonData = await readStash(buffer, constants, 0x60); + const newBuffer = await writeStash(jsonData, constants, 0x60); + const newJson = await readStash(newBuffer, constants, 0x60); expect(buffer.length, "file size").to.eq(newBuffer.length); expect(newJson, "json").to.deep.eq(jsonData);