1
0
mirror of https://github.com/mon/ifstools.git synced 2024-11-24 10:00:09 +01:00
ifstools/README.md

68 lines
2.6 KiB
Markdown
Raw Normal View History

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-03-03 20:00:59 +01:00
Just want an exe? [Download the latest](https://github.com/mon/ifstools/releases).
Have Python installed? Do this:
`pip install ifstools`
Then run `ifstools` from anywhere in a command prompt.
2017-12-27 01:39:51 +01:00
## Usage
2017-12-30 06:03:50 +01:00
```
2018-05-06 11:05:25 +02:00
usage: ifstools [-h] [-e] [-y] [-o OUT_DIR] [--tex-only] [-c]
[--bounds] [--uv] [--no-cache] [-m] [-s] [-r]
2018-05-06 11:05:25 +02:00
file_to_unpack.ifs|folder_to_repack_ifs
[file_to_unpack.ifs|folder_to_repack_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_to_unpack.ifs|folder_to_repack_ifs
files/folders to process. Files will be unpacked,
folders will be repacked
2017-12-30 06:03:50 +01:00
optional arguments:
-h, --help show this help message and exit
-e, --extract-folders
do not repack folders, instead unpack any IFS files
inside them
-y don't prompt for file/folder overwrite
-o OUT_DIR output directory
--tex-only only extract textures
2018-05-06 11:05:25 +02:00
-c, --canvas dump the image canvas as defined by the
texturelist.xml in _canvas.png
--bounds draw image bounds on the exported canvas in red
--uv crop images to uvrect (usually 1px smaller than
imgrect). Forces --tex-only
2018-05-06 11:05:25 +02:00
--no-cache ignore texture cache, recompress all
-m, --extract-manifest
extract the IFS manifest for inspection
-s, --silent don't display files as they are processed
-r, --norecurse if file contains another IFS, don't extract its
contents
2017-12-30 06:03:50 +01:00
```
2018-03-03 20:00:59 +01:00
## Build an exe
`pip install pyinstaller`
`pyinstaller ifstools_bin.py --onefile -n ifstools`
Recommend doing this in a fresh venv so the module finder doesn't include more than required.
2017-12-30 06:03:50 +01:00
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.