lmachens / nw-extract

New World Data extractor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nw-extract

Library and tool to extract assets from New World game folder

Requirements

  • Python
    • to automatically create Oodle DLL bindings. (ffi-napi and node-gyp are used under the hodd)
  • oo2core_8_win64.dll (Oodle compression)
    • This repository does not ship the oodle compression DLL. You have to own that dll (or search the web, but be careful, dont trust blindly any download website)
  • texconv.exe
    • should be available in your PATH, if you choose to convert DDS texture to any other format

Installation (binary)

Install globally

npm install nw-extract

Then to extract data from game intall dir

nw-extract "C:\Program Files (x86)\Steam\steamapps\common\New World"

The tool accept sfollowing arguments and options

Arguments:
  input-dir              New World game folder

Options:
  -o,--output            Output folder (default: "./nw-extract-output")
  -u,--update            force update (default: false)
  -f,--filter <type>     type of assets to extract
  --lib <path>           path to directory where oo2core_8_win64.dll is located (default: "")
  -h, --help             display help for command

Examples:
  nw-extract "C:\Program Files (x86)\Steam\steamapps\common\New World"
  nw-extract "C:\Program Files (x86)\Steam\steamapps\common\New World" -f "datasheet:json,icon:png"
  nw-extract "C:\Program Files (x86)\Steam\steamapps\common\New World" -f "datasheet:json,icon:png,image:png,locale"

Installation (dependency)

Add dependency to your project

npm install nw-extract -D

ES6 import

import { extract, createFilter, createConverter } from 'nw-extract'

Execute aus you need

extract({
  update: false,
  inputDir: "C:\\Program Files (x86)\\Steam\\steamapps\\common\\New World",
  outputDir: path.join(process.cwd(), './output'),
  libDir: process.cwd(),
  filter: createFilter("datasheet"),
  converterFactory: createConverter("datasheet:json"),
  onProgress: (p) => {
    // track progress
  }
}).then(() => {
  // done
})

About

New World Data extractor

License:MIT License


Languages

Language:TypeScript 89.1%Language:JavaScript 10.9%