1
0
mirror of https://github.com/mon/ifstools.git synced 2024-11-27 18:40:48 +01:00

Update README args

This commit is contained in:
Will Toohey 2020-10-25 16:56:07 +10:00
parent e20f2c539c
commit cfcb369a02

143
README.md
View File

@ -1,67 +1,76 @@
# ifstools # ifstools
Extractor for Konmai IFS files. Extractor for Konmai IFS files.
## Features ## Features
- Converts all textures to png without requiring a second program - Converts all textures to png without requiring a second program
- Repacks without ingame display issues - Repacks without ingame display issues
- Multithreaded recompression - Multithreaded recompression
- Only changed textures are recompressed, the rest are cached - Only changed textures are recompressed, the rest are cached
- Works on eacloud music ifs files - Works on eacloud music ifs files
- Correctly names files under `afp`, `bsi` and `geo` folders - Correctly names files under `afp`, `bsi` and `geo` folders
- Converts internal binary xmls to plaintext, to facilitate further experimentation. - Converts internal binary xmls to plaintext, to facilitate further experimentation.
- Dumps the ifs manifest so you can explore the format - Dumps the ifs manifest so you can explore the format
## Install ## Install
Just want an exe? [Download the latest](https://github.com/mon/ifstools/releases). Just want an exe? [Download the latest](https://github.com/mon/ifstools/releases).
Have Python installed? Do this: Have Python installed? Do this:
`pip install ifstools` `pip install ifstools`
Then run `ifstools` from anywhere in a command prompt. Then run `ifstools` from anywhere in a command prompt.
## Usage ## Usage
``` ```
usage: ifstools [-h] [-e] [-y] [-o OUT_DIR] [--tex-only] [-c] usage: ifstools [-h] [-e] [-y] [-o OUT_DIR] [--tex-only] [-c]
[--bounds] [--uv] [--no-cache] [-m] [-s] [-r] [--bounds] [--uv] [--no-cache] [-m] [-s] [-r]
file_to_unpack.ifs|folder_to_repack_ifs file_to_unpack.ifs|folder_to_repack_ifs
[file_to_unpack.ifs|folder_to_repack_ifs ...] [file_to_unpack.ifs|folder_to_repack_ifs ...]
Unpack/pack IFS files and textures Unpack/pack IFS files and textures
positional arguments: positional arguments:
file_to_unpack.ifs|folder_to_repack_ifs file_to_unpack.ifs|folder_to_repack_ifs
files/folders to process. Files will be unpacked, files/folders to process. Files will be unpacked,
folders will be repacked folders will be repacked
optional arguments: optional arguments:
-h, --help show this help message and exit -h, --help show this help message and exit
-e, --extract-folders -e, --extract-folders
do not repack folders, instead unpack any IFS files do not repack folders, instead unpack any IFS files
inside them inside them
-y don't prompt for file/folder overwrite -y don't prompt for file/folder overwrite
-o OUT_DIR output directory -o OUT_DIR output directory
--tex-only only extract textures --tex-only only extract textures
-c, --canvas dump the image canvas as defined by the -c, --canvas dump the image canvas as defined by the
texturelist.xml in _canvas.png texturelist.xml in _canvas.png
--bounds draw image bounds on the exported canvas in red --bounds draw image bounds on the exported canvas in red
--uv crop images to uvrect (usually 1px smaller than --uv crop images to uvrect (usually 1px smaller than
imgrect). Forces --tex-only imgrect). Forces --tex-only
--no-cache ignore texture cache, recompress all --no-cache ignore texture cache, recompress all
-m, --extract-manifest --rename-dupes if two files have the same name but differing case
extract the IFS manifest for inspection (A.png vs a.png) rename the second as "a (1).png" to
-s, --silent don't display files as they are processed allow both to be extracted on Windows
-r, --norecurse if file contains another IFS, don't extract its -m, --extract-manifest
contents extract the IFS manifest for inspection
``` --super-disable only extract files unique to this IFS, do not follow
"super" parent references at all
## Build an exe --super-skip-bad if a "super" IFS reference has a checksum mismatch, do
`pip install pyinstaller` not extract it
`pyinstaller ifstools_bin.py --onefile -n ifstools` --super-abort-if-bad if a "super" IFS reference has a checksum mismatch,
Recommend doing this in a fresh venv so the module finder doesn't include more than required. cancel and display an error
-s, --silent don't display files as they are processed
Notes: -r, --norecurse if file contains another IFS, don't extract its
- dxt5 texture repacking is not fully supported - they will silently be converted to argb8888rev contents
```
Todo:
- Recursive repacking for ifs inside ifs ## Build an exe
`pip install pyinstaller`
I hope the rest is self explanatory. Confused? Create a new issue and tell me what docs to add. `pyinstaller ifstools_bin.py --onefile -n ifstools`
Recommend doing this in a fresh venv so the module finder doesn't include more than required.
Notes:
- dxt5 texture repacking is not fully supported - they will silently be converted to argb8888rev
Todo:
- Recursive repacking for ifs inside ifs
I hope the rest is self explanatory. Confused? Create a new issue and tell me what docs to add.