All Projects → VitaSmith → gust_tools

VitaSmith / gust_tools

Licence: other
A set of utilities for dealing with Gust (Koei Tecmo) PC games files

Projects that are alternatives of or similar to gust tools

MassEffectModder
Mass Effect Modder (MEM)
Stars: ✭ 64 (-45.3%)
Mutual labels:  textures, modding-tools
eug
Modding tools for Paradox games including Europa Universalis IV and Crusader Kings II
Stars: ✭ 36 (-69.23%)
Mutual labels:  games, modding-tools
maps4cim
maps4cim - a real world map generator for CiM 2
Stars: ✭ 21 (-82.05%)
Mutual labels:  games, modding-tools
N-Gage stuff
Some N-Gage stuff for translation and modding
Stars: ✭ 21 (-82.05%)
Mutual labels:  games, unpacker
EtherEngine
简明易用的 Lua 跨平台游戏接口
Stars: ✭ 132 (+12.82%)
Mutual labels:  games
manu.ninja
Frond-End Development, Games and Digital Art
Stars: ✭ 15 (-87.18%)
Mutual labels:  games
flare
A Simple Browser Based Game.
Stars: ✭ 85 (-27.35%)
Mutual labels:  games
cstruct-go
a fast c-style struct packer & unpacker for golang
Stars: ✭ 28 (-76.07%)
Mutual labels:  unpacker
Blender-ArmorPaintLiveLink
This is a live-link tool to switch from Blender to ArmorPaint by only clicking in one button.
Stars: ✭ 86 (-26.5%)
Mutual labels:  textures
Discord-Games
A library for making implementing conventional games into your discord bot, easier.
Stars: ✭ 31 (-73.5%)
Mutual labels:  games
BlueVGA
VGA library for STM32F103C (BluePill) that can manipulate a screen with 28x30 tiles with 8x8 pixels each, in a total resolution of 224x240 pixels with 8 colors using a very low footprint
Stars: ✭ 39 (-66.67%)
Mutual labels:  games
Commandline-Games-hacktoberfest
A repository to share command line games. An opportunity to start and learn about open source code contributions flow.
Stars: ✭ 16 (-86.32%)
Mutual labels:  games
.NetReactorCfCleaner
A control flow cleaner for .NET Reactor.
Stars: ✭ 42 (-64.1%)
Mutual labels:  unpacker
botw-editor
The Legend of Zelda: Breath of the Wild - Editor
Stars: ✭ 27 (-76.92%)
Mutual labels:  modding-tools
sar2
Search and Rescue II. Helicopter flight simulator for Linux and OSX.
Stars: ✭ 20 (-82.91%)
Mutual labels:  games
jerry
Jerry - Chess Program
Stars: ✭ 79 (-32.48%)
Mutual labels:  games
Jetpack-Joyride-CE
A port of the iOS and Android Jetpack Joyride game for smartphones for the TI-84 Plus CE graphing calculators.
Stars: ✭ 22 (-81.2%)
Mutual labels:  games
AssetRipper
GUI Application to work with engine assets, asset bundles, and serialized files
Stars: ✭ 820 (+600.85%)
Mutual labels:  games
QuestJS
A major re-write of Quest that is written in JavaScript and will run in the browser.
Stars: ✭ 47 (-59.83%)
Mutual labels:  games
leagueoflegends
A command-line interface for League of Legends Esports.
Stars: ✭ 28 (-76.07%)
Mutual labels:  games

Gust Tools

Windows Build Linux Build Github stats Latest release

A set of commandline utilities designed to work with Gust (Koei/Tecmo) PC game assets such as the ones from Atelier series, Nights of Azure series, Blue Reflection, Fairy Tail, Fatal Frame ...

Utilities

  • 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.

Notes

gust_pak is designed to replace both A17_Decrypt and A18_Decrypt, as it automatically detects "A17" (32-bit) and "A18" (64-bit) formats. It should therefore works with all of the Atelier PC ports (including Atelier Sophie) as well as Blue Reflection archives.

gust_enc only works on the games where for which the scrambling seeds are known. See gust_enc.json for details. You can find a primer on the .e format, as well as what gust_enc does here.

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).

Building

If you have Visual Studio 2022 installed, just open the .sln file or run build.cmd.

Otherwise (Linux, MinGW) just issue make.

Usage

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 invoking gust_enc, you may specify the game ID to use for the encryption seeds (e.g. -BR for Blue Reflection, -A17 for Atelier Sophie). If not specified, then the default ID from gust_enc.json is be used.

For recreating a .pak, you must pass the .json that was created during extraction to gust_pak rather than the directory.

Modding games

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, if a 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 game Blue Reflection:

  • Go to <GAME_DIR>\DATA\and copy gust_pak.exe there.
  • Drop PACK00_02.pak on top of gust_pak.exe. This will extract all the content into a data\ subdirectory.
  • Move the content from data\x64\ to x64\ (in this case, that should only be one folder named character). This is needed because in this case <GAME_DIR>\DATA\x64 is the location where Blue Reflection expects extracted game assets, not <GAME_DIR>\DATA\data\x64.
  • Rename PACK00_02.pak to PACK00_02.old so that the game assets you just extracted are used.

Happy modding! 😄

License

GPLv3 or later.

Thanks

  • Yuri Hime/Lily/shizukachan and everyone who helped with A17_Decrypt/A18_Decrypt.
  • Admiral Curtiss for HyoutaTools and Semory for Steven's Gas Machine (a.k.a. "xentax"), where we picked some inspiration on how to unpack the .elixir and .g1t formats.
  • Rich Geldreich and others for the miniz inflate/deflate library.
  • Krzysztof Gabis for the parson JSON parsing library.
  • Gust, for making games that are interesting enough to make one want to crack their custom compression and encryption schemes. 😁
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].