quail

command module
v0.0.0-...-4cbc0eb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2024 License: MIT Imports: 4 Imported by: 0

README

quail - Ever[Q]uest [U]niversal [A]rchive, [I]mport and [L]oader tool

GoDoc Go Report Card

quail

Quail is a command line EverQuest pfs manager. The two primary ways to use it is with the extract/compress commands to turn a pfs archive into a folder to inspect and manipulate (then reverse), or do import/export to blender via quail-addon.

You can find the latest download of quail in releases

Status

Quail currently in an early preview status. While many functionality goals have even reached, they are buggy and not supporting every use case.

Usage

Quail has a number of commands that are displayed when the program is ran on it's own with no arguments:

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  compress    Compress an eqg/s3d/pfs/pak folder named _file.ext/ to a pfs archive
  convert     Take one file, convert to another
  extract     Extract an pfs (eqg/s3d/pak/pfs) archive to a _file.ext/ folder
  extract-mod ExtractMod an pfs archive to a _file.ext/ folder
  help        Help about any command
  hybrid      Hybrid merge geometry with existing bone data
  inspect     Inspect an EverQuest asset

EverQuest File Overview

Pfs

Pfs represents packaged files, you can think of them as zip compressed archives but has a special format

Extension Notes
eqg EverQuest Game Asset Pfs Archive
s3d EverQuest Game Asset Pfs Archive (Legacy)
pak EverQuest Game Asset Pfs Archive (Legacy)
pfs EverQuest Game Asset Pfs Archive (Legacy)

Model/Mesh

Model meshes represents geometry data, and some times metadata

Extension Notes
dat zone model for version 4 zones
mds npc, object and item model information
mod npc, object and item model information
ter zone model data for version 1 to 3, similar to mod/mds just without bone data
wld megapack of model metadata and model information for s3d legacy pfs archives

Model/Metadata

Model Metadata gives additional information about a mesh

Extension Notes
ani Animation data, frame by frame based on bone locations
edd Emitter definition data, aligns with prt to give details about how particles and emitters work
lay Layered texture data (Used for texture swaps/variations in a single model)
lit Light baking data, has same count as vertices
lod Level of Detail related information, usually refs to additional meshes to render based on distance
prt Particle Rendering Transformations,
pts Particle Transformation Statements,
tog Toggle data
zon Zone placement data, gives information about the zone terrain and object placements. Version 3 and below this is a binary file, Version 4+ it is raw text in a 3DsMax format
eco Ecology metadata, used for randomizing and blending maps in Version 4 Zones
rfd Radial Flora Data, grass, rocks,and other placable greenery metadata

Special Files

Name Notes
floraexclusion.dat Flora exclusion areas, Versin 4 zones use this to create ignores on RFD files
prj 3DS Max Project files, this is used by internal team for opening a pfs mesh, doesn't appear to have any use for EverQuest.
dbg.txt Debug log, shows the last export attempt internally, doesn't appear to have any use for EverQuest.

Progress Checklist

  • Import Support
    • Bugs EQG with V4 and zone files
    • Bugs S3D (not supported currently)
  • Export Support
    • UV Fix bad alignment
  • Bone/Animations
  • Image Sequence support (animated textures)
  • MOD support
  • S3D/WLD support
  • V4 Zone support

Running Tests and Setting Up a Development Environment

At the root of the repo, you'll see a file called .env_default. Copy it to the file .env, and edit the EQ_PATH variable inside to point to your EQ directory. NOTE that this EQ directory will get folders made like _gequip.s3d/, or _test_data/, so you may want to consider pointing to a unused EQ path if you don't like the clutter of folders on top.

References

  • Frozen Crusader Ornament, item id 81466, is it13926

External resources

gltf writer for wld fragments in lantern

fragment overview ref

eq-sage ref

Documentation

Overview

quail is an EverQuest file exporter and importer

Directories

Path Synopsis
cmd is full of command operations for quail
cmd is full of command operations for quail
dump is used to generate png files based on hex data of a file
dump is used to generate png files based on hex data of a file
helper is helper functions used for commonly used functions
helper is helper functions used for commonly used functions
log is used for logging
log is used for logging
eqg is a pfs archive for EverQuest
eqg is a pfs archive for EverQuest
scripts

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL