Skip to content

Latest commit

 

History

History
79 lines (54 loc) · 2.27 KB

README.md

File metadata and controls

79 lines (54 loc) · 2.27 KB

war3parser

Crates.io Version docs.rs NPM Version GitHub Actions Workflow Status GitHub Release

war3parser is a library for parsing and extracting Warcraft III map files. It provides functionality to extract data from MPQ files and supports parsing various file formats.

Features

  • Extract files from MPQ archives
  • Support for parsing W3I, WTS, and other file formats
  • Command-line tool for file extraction and export

Usage

use as a library

cargo add war3parser
use war3parser::war3map_metadata::War3MapMetadata;

let buffer = std::fs::read("path/to/map.w3x").unwrap();
let metadata = War3MapMetadata::from(&buffer).unwrap();

metadata.save("out");

use as a CLI

cargo install war3parser-cli
$ war3parser-cli help
A extractor and parser for Warcraft 3 map files

Usage: war3parser-cli <COMMAND>

Commands:
  dump-metadata   Dump metadata from a map file [aliases: d]
  extract-file    Extract a file from a MPQ archive and save it [aliases: x]
  extract-images  Extract images with *.tga and *.blp extensions [aliases: i]
  convert-image   Convert a *tga/blp file to png [aliases: c]
  list-files      List files in a MPQ archive [aliases: l]
  help            Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

use as a WASM

npm install @wesleyel/war3parser
import { WasmMapInfo } from "@wesleyel/war3parser";

const mapInfo = WasmMapInfo.new(Uint8Array.from(buffer));

console.log(mapInfo);

Contributing

Contributions are welcome! Please submit a Pull Request or report an Issue.

License

war3parser is licensed under the MIT License. See the LICENSE file for details.