User:Yukimono/Toolchain

From owdev
Jump to: navigation, search

Information

This toolchain is a series of unofficial command line tools used to work with Overwatch's formats, you need basic experience with the command prompt to fully use the tools. You can use the bat drag-and-drop presets to make the workflow easier.

Latest Version:

 Toolchain v1.12.0.0
 Toolchain v1.13.0.0 for PTR
 OWM Importer for Blender v1.0.8
 OWM Importer (Legacy) for Blender v1.0.7
 OWM Importer for Maya
 Modified CascLib.dll for CASCExplorer
 Modified CascLib.dll for CASCExplorer for PTR 1.13

The toolchain requires .NET v4.6.0.

There is zero risk in using the tools, they do not communicate with your battle.net app in any way, no form of identity is taken or required. Though to prevent conflicts in loading, you should close battle.net (or have a chance that the launcher will redownload the entire game)

The tool has a custom format, which is documented here

Setting up the Source Code for Editing

Average users can skip this section, as it only applies to programming.

You will need a copy of Visual Studio 2015 or newer installed. If you don't have it, you can download Visual Studio Community for free, or purchase the full version for additional features. You also need to have git-scm installed.

  1. Open a command prompt where you want it to be downloaded
  2. Type in git clone --recursive https://github.com/overtools/OWLib.git
  3. Navigate to the OWLib folder
  4. Open OverwatchToolchain.sln in Visual Studio, and begin editing.

OverTool

OverTool is a tool that works directly with the CASC filesystem to load relevant data in real time

Options

Options are optional settings to change how Overtool functions. The order of the options is important! You can use each option on their own but using multiple must be in the order displayed below

This is OUTDATED

Usage:

OverTool.exe [-LLang] [-n] [-q] OVERWATCH_FOLDER MODE [OPTS]

Option L

The L option lets you specify a language to extract, other than enUS.

Example:

OverTool.exe -LdeDE C:\Overwatch t

Full list of supported languages:

deDE, enUS, esES, esMX, frFR, itIT, jaJP, koKR, plPL, ptBR, ruRU, zhCN, zhTW

"Omnic uprising" arcade quotes are not exist in the download files. After "Omnic uprising" updated, koKR(Korean vocie) type has some errors and doesn't work.

Option n

This hidden option will disable the automatic collection of keys. This is only useful for people trying to find and collect Overwatch content keys.

Example:

 OverTool.exe -n C:\Overwatch t

Option q

This hidden option will disable most of the logs that Overtool makes, potentially increases speed and lessening spam.

Example:

 OverTool.exe -q C:\Overwatch t

Modes

Mode t

The t option will load hero data and output a list of hero cosmetics with rarity and type.

Example:

 OverTool.exe C:\Overwatch t

Mode x

The x option will eXtract hero assets, such as skins, sprays and player icons to appropriate folders.

Usage:

 OverTool.exe overwatch_folder x output_folder [types [heroes [superoptions]]]

Examples:

Extract all sprays and icons

 OverTool.exe C:\Overwatch x C:\extract spray+icon

Extract all Tracer skins

 OverTool.exe C:\Overwatch x C:\extract skin tracer

Extract all Tracer skins without converting models

 OverTool.exe C:\Overwatch x C:\extract skin tracer +

Extract D.Va's White Rabbit and B.Va skin, Soldier 76's regular weapon, and Zenyatta's orb

 OverTool.exe C:\Overwatch x C:\extract skin "d.va=white rabbit=b.va+soldier: 76=classic|13C6+zenyatta=classic|B6C"

Extract only gui icons for all heroes

 OverTool.exe C:\Overwatch x C:\extract skin * +TAMSCPi
Superoptions

The format for this is

 ?TAMSCRI

Where:

  1.  ? = ConvertTool format character (+ is "raw")
  2. T = Suppress Textures (capital = don't export textures, lowercase = default)
  3. A = Suppress Animations (capital = don't export animations, lowercase = default)
  4. M = Suppress Models (capital = don't export models, lowercase = default)
  5. S = Suppress Sounds (capital = don't export sounds, lowercase = default)
  6. C = Export Collision (capital = export collision models, lowercase = default, not all models have collision models)
  7. R = Export RefPose (capital = don't export refpose, lowercase = default)
  8. I = Export GUI Images (capital = don't export gui images, lowercase = default)

Mode m

The m option will list map information

Usage:

 OverTool.exe overwatch_folder m

Mode s

The s option will list strings

Usage:

 OverTool.exe overwatch_folder s

Mode Z

The Z option will list keys

Usage:

 OverTool.exe overwatch_folder Z

Mode M

The M option will extract map data.

Usage:

 OverTool.exe overwatch_folder M output_folder [maps]

Examples:

Extract Hanamura

 OverTool.exe C:\Overwatch M C:\extract HANAMURA

Extract the Tutorial and Practice Range

 OverTool.exe C:\Overwatch M C:\extract TUTORIAL "PRACTICE RANGE"

Mode G

The G option will extract general items.

Usage:

 OverTool.exe overwatch_folder G output_folder

Examples:

 OverTool.exe C:\Overwatch G C:\extract

Mode g

This option will list general item sorted by groups/events with rarity and type

Usage:

 OverTool.exe overwatch_folder g

Mode v

The v option will extract sounds by hero

Usage:

 OverTool.exe [-LLang] overwatch_folder v output_folder [hero names...]

Examples:

Extract All

 OverTool.exe C:\Overwatch v C:\extract

Extract Genji and Hanzo sounds

 OverTool.exe C:\Overwatch v C:\extract genji+hanzo

Extract Genji and Hanzo sounds in Japanese

 OverTool.exe -LjaJP C:\Overwatch v C:\extract genji+hanzo

Mode V

This option is similar to mode v (lowercase) except it will extract all sounds for heroes and every sound referenced by the heroes skins ignoring dupes

Usage:

 OverTool.exe [-LLang] overwatch_folder V output_folder [hero names...]

See above for examples.

APMTool

APMTool is a tool to search or list the contents of APM files. This is useful in reverse-searching Key indices.

Usage:

APMTool.exe OVERWATCH_FOLDER MODE

Mode must always start with a single character, valid modes:

Mode f

The "f" option sets the mode to "Find", it has the following sub-queries:

a[APM NAME]
i[INDEX HEX]
t[TYPE HEX]
s[SIZE LESS THAN VALUE]
S[SIZE GREATER THAN VALUE]
n[INDEX WITHOUT IDENTIFIER HEX]

Example:

APMTool.exe C:\Overwatch f i30 t00C

Mode C

Identical to F except it looks in CMF files instead of APM files.

Mode l

The "l" option sets the mode to "List" package contents, it has the followig sub-queries:

 p[PACKAGE KEY HEX] i[CONTENT KEY HEX]

Example:

APMTool.exe C:\Overwatch l pSOMEKEY

Mode c

The "c" option is a helper mode, it converts direct keys into an index + type. Example:

APMTool.exe c c 06E00000128CE602

Mode a

The "a" option is a helper mode, it displays all loaded APMs. Example:

 APMTool.exe C:\Overwatch a

Mode t

The "t" option is a helper mode, it displays all types (both in 12-bit and 16-bit) Example:

 APMTool.exe C:\Overwatch t

PackageTool

PackageTool is a tool to extract all files in a package.

Usage:

PackageTool.exe [-LLang] OVERWATCH_FOLDER EXTRACT_FOLDER LIST_OF_KEYS

Example:

PackageTool.exe C:\Overwatch C:\Extracted pSOMEKEY pANOTHERKEY
PackageTool.exe -LkoKR C:\Overwatch C:\Extracted pSOMEKEY pANOTHERKEY

ConvertTool

ConvertTool is a tool to convert model (00C) and animation (006) files into known formats.

Usage:

ConvertTool.exe MODEL_FILE OUTPUT_TYPE [-t] [-c] [-L] [-l LOD] OUTPUT_FILE

Example:

ConvertTool.exe 30.00C b -l 1 -l 255 30.xps
ConvertTool.exe 30.00C o 30_all.obj

The "-l" flag sets which LODs to extract, you can have more than one.

The "-t" flag sets to export attachments

The "-c" flag sets to export collision models

The "-L" flag sets to export only the first LOD found

TextureTool

TextureTool is a tool to convert texture (004 and 04D) files into a DDS. Depending on the 004 file, the resulting DDS may be a DirectX10 DDS, or a Legacy DDS. The tool will try to output a Legacy DDS since it has wider support.

Usage:

TextureTool.exe OUTPUT MODE PATHS

Mode must always be a single character, valid modes:

Mode 1

The "1" option will convert single 004 files (without a known 04D file) Usage:

TextureTool.exe OUTPUT_DDS 1 004_FILE

Example:

TextureTool.exe C:\test.dds 1 000000000001.004

Mode 2

The "2" option will convert 004 files that have a 04D raw texture. Usage:

TextureTool.exe OUTPUT_DDS 2 004_FILE 04D_FILE

Example:

TextureTool.exe C:\test.dds 2 000000000001.004 000100000001.04D

Mode r

The "r" option will convert single 004 files (without a known 04D file) Usage:

TextureTool.exe OUTPUT_FOLDER r 004_PATH [04D_PATH]

04D_PATH is optional, if it's not present it will fail to convert 004 + 04D pairs. Example:

TextureTool.exe C:\test r 004 04D

Attribution

OWLib.dll is COM Visible.

Special thanks to Episoder and Id-daemon for help with the texture format and model format.

Special thanks to Id-daemon for developing overwatch-anim.

Special thanks to usernametoolo for help with OWMImporter and the map formats.

Special thanks for Fusion and Kjasi for providing support regarding the CASC Storage system.

This toolchain uses CascLib from CASCExplorer with minor modifications (to prevent the library from creating "debug.log" and opening too many APM files).

This toolchain uses OpenTK.