.fat/.dat — Archives and the Asset Resolver
Traced live via GhidraMCP against the Steam v1.03 build of Dunia.dll. For the practical, tool-level
.fcb — Binary Object-Tree Format
Traced live via GhidraMCP against the Steam v1.03 build, to independently confirm (and in one case
depload.dat — Dependency Chunk
Originally documented community-side (Discord, Far Cry Modding Community, 2026-04-09 — a from-scratch
.sdat — Per-Sector Terrain Data
Traced live via GhidraMCP against FarCry2_server (the Linux dedicated-server ELF, not
.xbm / .xbg — Materials & Meshes
Source: Discord, Far Cry 2 Multiplayer, modding channel, an extended live reverse-engineering
.mgb / .mgb.desc — Magma UI Format
Fully decoded. Every field layout on this page is transcribed from a decompile of the matching
.spk — Sound Bank Format
Traced live via GhidraMCP against Dunia.dll (the same code exists but is stubbed out in the
.sbao — Sound Binary Audio Object
The Ogg-backed layout is derived from direct byte-analysis of 54 real music .sbao files (from
.sav — Savegame Container Format
Confirmed byte-for-byte against a real save (178430170947.sav, 1,854,505 bytes, from
.srl / .zsr — Per-Sector Sound Regions & Zones
Traced live via GhidraMCP against FarCry2_server. Covers the container/attribution level — exact
.nvm — Navigation Mesh
Traced live via GhidraMCP against FarCry2_server. Covers the level-file/sector-file container
.mgb field names — the LoadVisitor join
Companion to the .mgb format page, which carries the wire layout. This page is the