diff --git a/README.md b/README.md index c867aea..c8251d0 100644 --- a/README.md +++ b/README.md @@ -69,16 +69,29 @@ sys folder contains AFS system files of the game and generated files needed for * afs_rebuild.conf - Edit this file for rebuilding the AFS. * afs_rebuild.csv - Edit this file with correct values set in afs_rebuild.conf for rebuilding the AFS. -### afs_rebuild.conf & afs_rebuild.csv - -files_rebuild_strategy is used to organise files (indexes, offsets) in AFS. The strategy use informations in afs_rebuild.csv autogenerated during unpack. 4 strategies are available: -* auto: Rebuild all files indexes and offsets with custom sort. afs_rebuild.csv indexes and offsets will be ignored. +### afs_rebuild.conf: +All offsets and indexes are stored in hexadecimal with 0x prefix: 0xabcdef. Use auto when it's possible. +#### \[Default\] section +**AFS_MAGIC**: 0x41465300 or 0x41465320 +**files_rebuild_strategy**: auto, index, offset or mixed +files_rebuild_strategy is used to organise files (indexes, offsets, packed name if there is a FD) in AFS. The strategy use informations in **afs_rebuild.csv** autogenerated during unpack. 4 strategies are available: +* auto: Rebuild all files indexes and offsets with packed packed_filename if there is a FD or else unpacked_filename. afs_rebuild.csv indexes and offsets will be ignored. * index: Keep the specified index for designated files. afs_rebuild.csv offsets will be ignored. * offset: Keep the specified offset for designated files. afs_rebuild.csv indexes will be ignored. -* mixed: Keep the specified offset and index for designated files. -afs_rebuild.csv contains entries describing how to pack files in the AFS. All int values are stored in hexadecimal: 0xabcdef. Offsets have to be aligned to 0x800 (2048). Put one line per selected file that you wan't to constraint using this format: -* unpacked_filename/index/offset/packed_name -For instance: "dummy (5).bin/0x12/0x80000/dummy.bin". You can put "auto" to index or offset when you want set the packed filename: "dummy (5).bin/auto/auto/dummy.bin". For an empty block add only index/offset couple: "0x12/0x80000" (Not implemented yet). First remove all files without constraints from afs_rebuild.csv. Then put auto in indexes, offsets, and names that doesn't have constraints. +* mixed: Keep the specified offset or index for afs_rebuild.csv entries where a value is specified. +**filename_directory**: True when there is a FD and False when there is none. If set to True then it must have a \[FilenameDirectory\] section. +#### \[FilenameDirectory\] section +**toc_offset_of_fd_offset**: The TOC offset of the FD offset is at the end of the TOC. Some AFS use pad after the offsets/lengths serie. Use auto when it's possible. +**fd_offset**: The FD is at the end of the AFS. Use auto when it's possible. +**FD_last_attribute_type**: The type of the last 4 bytes of each FD entries. 3 values are available: +* length: Use file length. +* offset-length: Use offset length series. +* 0xabcdef: Use a custom hexadecimal constant. + +### afs_rebuild.csv: +All offsets and indexes are stored in hexadecimal with 0x prefix: 0xabcdef. Use auto for offsets or indexes when it's possible. Offsets have to be aligned to 0x800 (2048). + +afs_rebuild.csv contains entries describing how to pack files in the AFS. Put one line per selected file that you wan't to constraint using the format: "unpacked_filename/index/offset/packed_name", for instance: "dummy (5).bin/0x12/0x80000/dummy.bin". You can put auto to index or offset: "dummy (5).bin/auto/auto/dummy.bin". For an empty block add only index/offset couple: "0x12/0x80000" (Not implemented yet). First remove all files without constraints from afs_rebuild.csv. Then put auto in indexes and offsets that doesn't have constraints. ## pzztool.py Python3 script for unpack/repack unpzz/pzz and uncompress/compress of PZZ archive. MDT files are also handled by pzztool.py.