Skip to content

dschu012/d2s

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 5, 2022
033e9dd · Oct 5, 2022
May 26, 2021
May 3, 2021
Jan 6, 2020
Sep 26, 2022
Oct 5, 2022
Oct 5, 2022
Oct 5, 2022
May 3, 2021
May 3, 2021
May 5, 2021
May 3, 2021
May 3, 2021
Oct 5, 2022
Oct 5, 2022
Oct 5, 2022
Jan 6, 2020
Oct 5, 2022

Repository files navigation

d2s

The goal of this project is to create an es6 compliant reader/writer of Diablo II save files. Additionally, the library should be able to consume files generated by nokka's Go implementation d2s, therefore the output of reading a save will closely mirror the Go's output.

Examples

Using d2s-ui for a frontend:

API/General Usage
/**
* @see constants.bundle.min.js for an already parsed version of 1.13c data
* @param buffers: object of ALL txt files. example: {
*  "ItemStatCost.txt": "Stat\tIDt\Send...",
*  "string.txt": "WarrivAct1IntroGossip1\t45}Greetings,...",
*  ...
* }
* @return constants: constant data required for parsing built from the txt files.
**/
function readConstantData(buffers: any): types.IConstantData

/**
* @param buffer: Uint8Array representation of the file
* @param constants: constant data used for reading the files. @see readConstantData or constants.bundle.min.js
* @param userConfig: optional configuration. used for if there is a dll edit to allow larger stash sizes. example: {
*  extendedStash: true
* }
* @return d2s: the parsed save information
**/
function read(buffer: Uint8Array, constants: types.IConstantData, userConfig?: types.IConfig): Promise<types.ID2S>;

/**
* @param d2s: the parsed save information
* @param constants: constant data used for reading the files. @see readConstantData or constants.bundle.min.js
* @param userConfig: optional configuration. used for if there is a dll edit to allow larger stash sizes. example: {
*  extendedStash: true
* }
* @return buffer: Uint8Array representation of the file
**/
function write(data: types.ID2S, constants: types.IConstantData, userConfig?: types.IConfig): Promise<Uint8Array>;
Useful Links: