iroga

Crates.ioiroga
lib.rsiroga
version0.2.2
sourcesrc
created_at2024-05-11 13:57:58.242006
updated_at2024-05-19 11:52:27.310889
descriptionCommand line app to pack a single directory into an IRO archive (FF7 mod manager format)
homepage
repositoryhttps://github.com/tangtang95/iroga
max_upload_size
id1236867
size45,151
Tang-Tang Zhou (tangtang95)

documentation

README

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

Commit count: 38

cargo fmt