- Notifications
You must be signed in to change notification settings - Fork27
A set of utilities for dealing with Gust (Koei Tecmo) PC games files
License
VitaSmith/gust_tools
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A set of commandline utilities designed to work with Gust (Koei/Tecmo) PC game assets such as the ones fromAtelier series,Nights of Azure series,Blue Reflection,Fairy Tail,Fatal Frame ...
gust_pak
: Unpack or repack a Gust.pak
archive.gust_elixir
: Unpack or repack a Gust.elixir[.gz]
archive.gust_gmpk
: Unpack or repack a Gust.gmpk
archive.gust_g1t
: Unpack or repack a Gust.g1t
texture archive.gust_enc
: Encode or decode a Gust.e
archive.gust_ebm
: Convert a.ebm
message file to or from an editable JSON file.
gust_pak
is designed to replace bothA17_Decrypt
andA18_Decrypt
, as it automatically detects "A17" (32-bit) and "A18" (64-bit) formats.It should therefore works with all of the Atelier PC ports (includingAtelier Sophie) as well asBlue Reflection archives.
gust_enc
only works on the games where for which the scrambling seeds are known. Seegust_enc.json
for details.You can find a primer on the.e
format, as well as whatgust_enc
doeshere.
In most cases, the repacking of an archive relies on a corresponding.json
to have been created during unpacking.You will not be able to recreate an archive if a.json
file does not exist for it, either in the directory (.elixir
,.g1t
)or at the root level (.pak
).
If you have Visual Studio 2022 installed, just open the.sln
file or runbuild.cmd
.
Otherwise (Linux, MinGW) just issuemake
.
On Windows, you can just drop the file or directory you want to unpack/repack or decode/encode on top of the executable.
Otherwise, you can invoke:<gust_utility> <file or directory>
.
When invokinggust_enc
, you may specify the game ID to use for the encryption seeds (e.g.-BR
forBlue Reflection,-A17
forAtelier Sophie). If not specified, then the default ID fromgust_enc.json
is be used.
For recreating a.pak
, you must pass the.json
that was created during extraction togust_pak
rather than the directory.
IMPORTANT: YOU SHOULD BACK UP ALL GAME ARCHIVES AND FOLDERS BEFORE RUNNING THE UNPACKER
Most Gust game executables are designed to use either packed assets, if a.pak
archive is present, or the extracted assets, ifa matching directory bearing the same name as the.pak
is found. For that to work, you must however make sure that the.pak
is not seen, as it has precedence over the directory.
For instance, if you want to alter character assets (textures, models, ...) for the gameBlue Reflection:
- Go to
<GAME_DIR>\DATA\
and copygust_pak.exe
there. - Drop
PACK00_02.pak
on top ofgust_pak.exe
. This will extract all the content into adata\
subdirectory. - Move the content from
data\x64\
tox64\
(in this case, that should only be one folder namedcharacter
). This is neededbecause in this case<GAME_DIR>\DATA\x64
is the location whereBlue Reflection expects extracted game assets, not<GAME_DIR>\DATA\data\x64
. - Rename
PACK00_02.pak
toPACK00_02.old
so that the game assets you just extracted are used.
Happy modding! 😄
GPLv3 or later.
- Yuri Hime/Lily/shizukachan and everyone who helped with
A17_Decrypt
/A18_Decrypt
. - Admiral Curtiss forHyoutaTools andSemory forSteven's Gas Machine (a.k.a. "xentax"), where we picked someinspiration on how to unpack the
.elixir
and.g1t
formats. - Rich Geldreich and others for theminiz inflate/deflate library.
- Krzysztof Gabis for theparson JSON parsing library.
- Gust, for making games that are interesting enough to make one want to crack their custom compression and encryption schemes. 😁
About
A set of utilities for dealing with Gust (Koei Tecmo) PC games files
Topics
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- C98.5%
- Batchfile1.1%
- Makefile0.4%