7 releases
new 0.2.1 | Jan 18, 2025 |
---|---|
0.2.0 | Jan 18, 2025 |
0.1.4 | Jan 17, 2025 |
#397 in WebAssembly
482 downloads per month
Used in 2 crates
42KB
944 lines
war3parser
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.
Dependencies
~15MB
~250K SLoC