Извлечение игровых файлов

Table of Contents

В этом проекте я использую несколько инструментов для извлечения игровых файлов разного типа.

Универсал #

SaintCoinach #

От создателей https://xivapi.com и держателей репозитория с уже извлечёнными текстовыми файлами игры (https://github.com/xivapi/ffxiv-datamining). Несмотря на наличие уже распакованных текстовых файлов, я не стал их использовать, т.к. у авторов нет запаковщика обратно и делать его не собираются. Потому вместо этого я написал свои скрипты по распаковке из exd в csv и запаковке обратно из csv в exd, руководствуясь знаниями, выложенные в этом репозитории.
Эту утилиту используем для извлечения текстур интерфейса. Есть тонкость: руководство к утилите SaintCoinach.Cmd не рассказывает обо всех возможных командах для работы с этой утилитой. В частности выяснилось, что помимо ui есть ещё команда uiHD, которая извлекает HD-версии текстур интерфейса.

https://github.com/xivapi/SaintCoinach

FFXIV Explorer #

Это довольно старая программа, позволяющая просматривать и извлекать игровые файлы в графическом интерфейсе. К сожалению, оригинальный автор давно забросил разработку этой программы. От неё родилось множество форков, наиболее последний из которых прикладываю в ссылке ниже.

https://github.com/emarron/ffxiv-explorer-fork

Текстовые файлы (.exd, .exh) #

tomestone-utils #

Эта программа способна высчитать хэши практически всех текстовых файлов игры и после этого распаковать их. Благодаря тому, что с нею можно работать в командной строке (и только в ней), эту программу можно использовать в скриптах, благодаря чему возможно создание скрипта распаковки в одно нажатие. Нюанса только три:

  • нужно вручную компилировать программу
  • программа чувствительна к чистоте файлов игры — она у меня отказывается работать, если их хотя бы чуть-чуть трогал TexTools
  • на Windows в первый раз команда discover_paths работает несколько часов. Автор работает в Linux, где, видимо, это происходит намного быстрее

https://github.com/divergentdave/tomestone-utils
Свою версию скрипта для массовой распаковки выложу позже.