Skip to content

cjab/libeq

Repository files navigation

Crates.io Docs.rs Maintenance

libeq

Libraries and tools for working with EverQuest game data

Crates

Examples

use libeq::pfs::PfsReader;
use libeq::wld;

fn main() {
    // Extract .wld data from an .s3d file
    let file = std::fs::File::open("gfaydark.s3d").unwrap();
    let mut archive = PfsReader::open(file).unwrap();
    let data = archive.get("gfaydark.wld").unwrap().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

s3d

s3d is a CLI tool for listing, extracting, creating, and verifying EverQuest PFS archives. Built on libeq_pfs.

Platform Arch Download
🐧 Linux x86_64 s3d
🍎 macOS aarch64 s3d
🪟 Windows x86_64 s3d
Other All releases
# List files in an archive
s3d list gfaydark.s3d

# Extract all files
s3d extract gfaydark.s3d -o gfaydark/

# Create an archive from a directory
s3d create gfaydark-new.s3d gfaydark/

wld-cli

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

Platform Arch Download
🐧 Linux x86_64 wld-cli
🍎 macOS aarch64 wld-cli
🪟 Windows x86_64 wld-cli
Other All releases
# 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

Libraries and tools for working with EverQuest game data

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages