2017-12-15 18:43:57 +01:00
|
|
|
# ifstools
|
|
|
|
Extractor for Konmai IFS files.
|
|
|
|
|
2017-12-30 06:03:50 +01:00
|
|
|
## Features
|
|
|
|
- Converts all textures to png without requiring a second program
|
|
|
|
- Repacks without ingame display issues
|
|
|
|
- Multithreaded recompression
|
|
|
|
- Only changed textures are recompressed, the rest are cached
|
|
|
|
- Works on eacloud music ifs files
|
|
|
|
- Correctly names files under `afp`, `bsi` and `geo` folders
|
|
|
|
- Converts internal binary xmls to plaintext, to facilitate further experimentation.
|
|
|
|
- Dumps the ifs manifest so you can explore the format
|
|
|
|
|
2017-12-27 01:39:51 +01:00
|
|
|
## Install
|
2018-01-04 17:14:17 +01:00
|
|
|
`pip install git+https://github.com/mon/kbinxml/ git+https://github.com/mon/ifstools/`
|
2017-12-27 01:39:51 +01:00
|
|
|
|
|
|
|
## Usage
|
2017-12-30 06:03:50 +01:00
|
|
|
```
|
2018-01-04 17:14:17 +01:00
|
|
|
usage: ifstools [-h] [-y] [-o OUT_DIR] [--tex-only] [--nocache] [-s] [-r]
|
2017-12-30 06:03:50 +01:00
|
|
|
file.ifs|folder_ifs [file.ifs|folder_ifs ...]
|
2017-12-18 10:37:16 +01:00
|
|
|
|
2017-12-30 06:03:50 +01:00
|
|
|
Unpack/pack IFS files and textures
|
|
|
|
|
|
|
|
positional arguments:
|
|
|
|
file.ifs|folder_ifs files/folders to process. Files will be unpacked,
|
|
|
|
folders will be repacked
|
|
|
|
|
|
|
|
optional arguments:
|
|
|
|
-h, --help show this help message and exit
|
|
|
|
-y don't prompt for file/folder overwrite
|
|
|
|
-o OUT_DIR output directory
|
|
|
|
--tex-only only extract textures
|
|
|
|
--nocache ignore texture cache, recompress all
|
|
|
|
-s, --silent don't display files as they are processed
|
|
|
|
-r, --norecurse if file contains another IFS, don't extract its
|
|
|
|
contents
|
|
|
|
```
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
- dxt5 texture repacking is not fully supported - they will silently be converted to argb8888rev
|
2017-12-15 18:43:57 +01:00
|
|
|
|
|
|
|
Todo:
|
2017-12-18 10:37:16 +01:00
|
|
|
- Recursive repacking for ifs inside ifs
|
2017-12-15 18:43:57 +01:00
|
|
|
|
|
|
|
I hope the rest is self explanatory. Confused? Create a new issue and tell me what docs to add.
|