mpq

Crates.iompq
lib.rsmpq
version0.8.1
sourcesrc
created_at2016-09-07 14:03:59.257564
updated_at2024-08-14 14:28:19.783383
descriptionA library for reading MPQ archives
homepage
repositoryhttps://github.com/msierks/mpq-rust
max_upload_size
id6273
size50,232
Michael Sierks (msierks)

documentation

https://docs.rs/mpq

README

mpq-rust Documentation

A library for reading MPQ archives.

# Cargo.toml
[dependencies]
mpq = "0.8"

Reading an archive

extern crate mpq;

use std::str;
use mpq::Archive;

fn main() {
    let mut a = Archive::open("common.MPQ").unwrap();
    let file = a.open_file("(listfile)").unwrap();

    let mut buf: Vec<u8> = vec![0; file.size(&a) as usize];

    file.read(&mut a, &mut buf).unwrap();

    print!("{}", str::from_utf8(&buf).unwrap());
}

CLI

Build

git clone https://github.com/msierks/mpq-rust.git && cd mpq-rust && cargo build --release

Run

print '(listfile)' contents:

target/release/mpq -l common.MPQ

extract file:

target/release/mpq -x "(listfile)" common.MPQ

More help:

target/release/mpq -h

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 57

cargo fmt