dawidcxx / wow-file-tools

General purpose 3.3.5a WoW client side tools (useful for modding!)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

General purpose CLI utility. Mostly for manipulating client side files. This is not meant to be one tool but rather a collection of different tools sharing the same framework. Supports both linux & windows.

Features

  • MPQ tool

A sub-tool to work with MPQs.

Examples:

  • Get the (listfile) wow-file-tools mpq view -a ./Work/patch-A.MPQ

  • Extract a file from a MPQ as hex wow-file-tools mpq extract -a ./Work/patch-A.MPQ -f "World\wmo\kalimdor\uldum\uldum_fishing_village.wmo"

  • Extract a file from a MPQ to disk wow-file-tools mpq extract -a ./Work/patch-A.MPQ -f "World\wmo\kalimdor\uldum\uldum_fishing_village.wmo" -t ./

  • Extract everything from a MPQ to ./Work wow-file-tools mpq extract-tree -a .\Work\patch-A.mpq -t "/" -d .\Work\

  • Insert a file to the archieve wow-file-tools mpq pack -a ".\Work\patch-A.mpq" -f ".\crabby.blp" -d "creature/crab"

  • Resolve Map assets

Output all of the map dependencies. The given --map-ids must be found in Map.dbc.

OPTIONS:
    -m, --map-ids <map-id>...      
    -w, --workspace <workspace>   
  • View Command

Dump the conversion of the binary file into JSON. Supported formats:

  • DBC
    • Map.dbc
    • LoadingScreens.dbc
    • AreaTable.dbc
    • LightSkybox.dbc
    • LightParams.dbc
    • Light.dbc
    • BattlemasterList.dbc
    • GroundEffectTexture.dbc
    • GroundEffectDoodad.dbc
    • GameObjectDisplayInfo.dbc
    • PvpDifficulty.dbc
    • Spell.dbc
    • SpellIcon.dbc
    • SpellVisual.dbc
    • SpellVisualKit.dbc
    • SpellVisualEffectName.dbc
    • Talent.dbc
    • TalentTab.dbc
  • ADT
  • WDT
  • WMO

Note: some formats might be lacking fields

OPTIONS:
    -f, --file <file>    
  • DbcJoin Command

Like the view command will output DBC info. However unlike the view command it will work across multiple files and join the results together to a more readable format.

OPTIONS:
    -d, --dbc-folder <dbc-folder>    
    -j, --join-name <join>           join to display, one of: SPELLS, TALENTS
    -r, --record-id <record-id> 

Compiling

In order to compile this project you will need

  • rust language toolchain, successfully compiled with rustc 1.43.0-nightly (75cf41afb 2020-03-04) but other version should work fine as well
  • A C/C++ compiler
  • CMake
  • (On linux)bzip2 / zlib. Depending on the distro you most likely have them installed already.

To compile, run:

cargo build --release

The binary will be in $PROJECT/target/release.

About

General purpose 3.3.5a WoW client side tools (useful for modding!)


Languages

Language:Rust 100.0%