bryab / libeq

An Everquest .wld file loader

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crates.io Docs.rs Maintenance

libeq

Libraries and tools for working with EverQuest game data

Crates

Examples

use libeq::archive::EqArchive;
use libeq::wld;

fn main() {
    // Extract .wld data from an .s3d file
    let archive = EqArchive::read("gfaydark.s3d").unwrap();
    let (_, data) = archive
        .iter()
        .find(|(name, _)| name == "gfaydark.wld")
        .unwrap();

    // Load .wld file
    let wld = wld::load(data).unwrap();
    let materials = wld.materials().collect::<Vec<_>>();
    let meshes = wld.meshes().collect::<Vec<_>>();
    let models = wld.models().collect::<Vec<_>>();
    let objects = wld.objects().collect::<Vec<_>>();
}

Tools

eq-archive

eq-archive is a cli tool used to extract and create EverQuest .s3d archives.

# To extract files from an archive
cargo run -p eq-archive -- -x fixtures/gfaydark.s3d gfaydark

# To create an archive from a directory
cargo run -p eq-archive -- -c gfaydark gfaydark.s3d

wld-cli

This workspace also includes the wld-cli tool for viewing and extracting fragments from .wld files.

# To view fragments
cargo run -p wld-cli -- explore gfaydark.wld

# Extract to raw fragment data files:
cargo run -p wld-cli -- extract gfaydark.wld destination/

# Extract and create to/from RON:
cargo run -p wld-cli -- extract --format ron gfaydark.wld gfaydark.ron
cargo run -p wld-cli -- create --format ron gfaydark.ron gfaydark.wld

# Extract and create to/from JSON:
cargo run -p wld-cli -- extract --format json gfaydark.wld gfaydark.json
cargo run -p wld-cli -- create --format json gfaydark.json gfaydark.wld

About

An Everquest .wld file loader

License:MIT License


Languages

Language:Rust 99.3%Language:Nix 0.7%Language:JavaScript 0.0%