# File Type Index

Two indexes: the **game's** file formats (what's on the disc / what the
engine loads), and the **package's** file types (what you're looking at in
this download).

## Game file formats

Resolved from the engine's own `XAct_Rsrc_*` resource enum, loader code, and
the disc catalog work in
[Xenosaga3PythonExtractor](https://github.com/LinuxJessi/Xenosaga3PythonExtractor).

### Containers & code

| Ext / file | Format | Notes |
|---|---|---|
| `X3.00`–`X3.13` | "Munge" bigfiles | The real filesystem: binary catalog files (path tree + offset/length tables) + concatenated data parts. The ISO9660 filesystem is just a thin shell around these. |
| `Lba0/1/2.txt` | Text index | Plain-text `OFFSET\|LENGTH\|INDEX\|path` tables shipped on disc — the bigfiles' table of contents, human-readable. |
| `.afs` | CRI archive | Audio/video container; 128 MB limit per inner file, no parallel loads. |
| `SLUS_213.89` | PS2 EE ELF | The main executable (also embeds the OV01 overlay image). |
| `.OVL` | PS2 EE ELF | Overlay binaries, bank-switched into `0xa80000`. |
| `.irx` | IOP module | Standard PS2 I/O-processor binaries (pads, memory cards, CRI audio). |

### Graphics & models

| Ext | Format | Notes |
|---|---|---|
| `.txy` | Texture container | Always paired with a `.pxy`. |
| `.pxy` | Packed model data | Geometry; pairs with `.txy` textures. |
| `.xhr` | Skeleton | Joint hierarchy. |
| `.xap` | Animation | `XAct_Rsrc_XAP`; an `_Ext2` variant marks a v2 format. |
| `.xtx` | Texture | Some are GS-swizzled (notably 8 of the face textures) and don't decode linearly. |
| `.tm2` | TIM2 texture | Sony's standard PS2 texture format. |
| `.BMP` | Stage thumbnails | Plain bitmaps (minigame stage previews). |

### Audio & video

| Ext | Format | Notes |
|---|---|---|
| `.adx` | CRI ADX | ADPCM audio (music, voice, SFX streams). |
| `.sfd` | CRI SOFDEC | FMV cutscenes — standard MPEG-2 program stream + ADX audio track. Modern ffmpeg can decode these directly. |
| `.vsf` / `.prj` | Sound banks | Paired sample-bank + project files (`SYS_SE`, per-character voice banks). |

### Data & scripts

| Ext / dir | Contents |
|---|---|
| `evt/` (`.xep`) | Event scripts |
| `bat/` | Battle data |
| `cf/`, `ef/` | Character/event flag data (region-variant subdirs `us/`/`jp/`) |
| `mnu/` | Menu data — includes `credit.bin`, which is actually the 348 memory-card save illustrations (JPEG), not credits |
| `mg1/` | The minigame (HaKox) — stages, messages, pictures |
| `mot/` | Motion data |
| `mov/` | The SFD cutscenes |
| `pac/` | Packed archives |
| `snd/` | Sound banks |
| `kao/` | Character face textures ("kao" = face) |
| `mdl/` | 3D models |
| `font0.us` / `font1.us` | The game fonts — first entries in bigfile pack 0 |

## Package file types (this download)

| File | What it is |
|---|---|
| `functions/0xADDR_name.c` | One decompiled function: header comment (address, byte size, referenced strings) + pseudo-C body |
| `all.c` | Every function of that binary concatenated in address order — for whole-binary grepping |
| `symbol_map.txt` | `address → name → size` for every function (top-level copy is merged across all four binaries, tagged by binary) |
| `strings.txt` | Every string literal with the address(es) that reference it |
| `string_to_function.tsv` | Join table: which function references which string |
| `vutext.s` | Annotated disassembly of the VU1 microcode (SLUS only — overlays have none) |
| `pipeline/*.py`, `*.java` | The complete reproducible toolchain (Ghidra headless scripts + Python; generic for any PS2 EE ELF) |
| `pipeline/vu-disasm/` | Standalone VU disassembler (C++, PCSX2-derived, GPL-3.0) |
| `README.md` | Full technical documentation, methodology, and notable findings |
