#archive #archive-format #mod-manager #command-line #file-format #iro

app iroga

Command line app to pack a single directory into an IRO archive (FF7 mod manager format)

4 releases

0.2.2 May 19, 2024
0.2.1 May 19, 2024
0.2.0 May 18, 2024
0.1.2 May 11, 2024

#439 in Command line utilities

MIT license

19KB
416 lines

CI

Iroga

Command line application to pack a single directory into an IRO archive. The IRO archive is a format used in 7th heaven, a FF7 mod manager application

Usage

# Simple usage
iroga pack <DIR>

# For help information
iroga --help

IRO format

Offset Size Description
0x00 20 IRO Header
0x20 (20 + L) * N File indexing section
0x20 + (20 + L) * N B * N Data section

N is the number of files, L is the dynamic length of file paths, B is the dynamic byte length of the files

IRO Header

Offset Size Description
0x00 4 IROS constant text in ASCII
0x04 4 Version (latest version: 0x10002)
0x08 4 Flags (0: full IRO, 1: patch)
0x0C 4 Size of IRO header (always 16)
0x10 4 Number of files inside the archive

File indexing section

Section repeated for each file inside the archive

Offset Size Description
0x00 2 Length of this section (filepath_length + 20)
0x02 2 Length of the file path
0x04 L File path in unicode UTF16
0x04 + L 4 File flags (0: Non-compressed, other unimplemented)
0x04 + L + 0x04 8 IRO archive offset pointing to the related file in data section
0x04 + L + 0x0C 4 Length of the data

Data section

Concatenation of bytes of each file

Dependencies

~2–11MB
~98K SLoC