Skip to main content
Frostbite is EA’s proprietary game engine used across many titles including Battlefield, FIFA, Madden, and Dragon Age. Understanding its file structure is essential for modding with Frosty Toolsuite.

File System Architecture

Frostbite games organize assets in a hierarchical archive system:

Layout System

The layout.toc file is the entry point for the entire game filesystem. Layout Structure:
Located at native_data/layout.toc, contains:
  • List of all superbundles
  • Install manifest with catalog definitions
  • Base version number
  • Catalog to superbundle mappings
From FileSystem.cs:332.

Catalog System (CAS/CAT)

Catalogs are archive collections that store game assets. Catalog Structure:
CAS files contain the actual compressed asset data. Each catalog has multiple CAS files (cas_01.cas, cas_02.cas, etc.).Data Storage:
  • Assets stored by SHA1 hash
  • Compressed using ZLIB, LZ4, OODLE, or ZSTD
  • May be encrypted (requires decryption keys)
  • Supports delta patching
CAT files index the contents of CAS archives:
The ResourceManager uses CAT files to locate assets in CAS archives (ResourceManager.cs:246).
Patches use delta compression:
The engine applies delta to base to get the patched asset (ResourceManager.cs:127).

Superbundles and Bundles

Hierarchy:
Superbundle Structure:
1

TOC File

Superbundle table of contents (.toc or .sb):
  • Lists contained bundles
  • References to assets
  • Dependency information
2

Bundle Organization

Bundles are typed:
  • SharedBundle - Shared across levels
  • BlueprintBundle - Contains BlueprintBundle entity
  • SubLevel - Contains SubWorldData entity
From AssetManager.cs:100.
3

Asset References

Each bundle references its contained assets by hash/GUID

Binary SuperBundles

Some games use binary superbundles (single file format):
From ResourceManager.cs:155.

initfs (Initial Filesystem)

The initfs_win32 file bootstraps the filesystem on game startup. Contents:
  • SDK files (type definitions)
  • Deobfuscation tables
  • Compression dictionaries
  • Encryption keys (encrypted)
  • Engine configuration
Loading initfs:
From FileSystem.cs:260.
Games like FIFA 18+ require decryption keys to access initfs contents. These keys are game-specific and not distributed with Frosty.

Path Resolution

The FileSystem class handles multi-source path resolution:
From FileSystem.cs:136.

Compression Types

Frostbite uses multiple compression algorithms:

ZLIB

Legacy compression (pre-2017 games)

LZ4

Fast compression (2017-2018 games)

OODLE

High-performance compression (FIFA 18+, select assets)

ZSTD

Modern compression (newer titles)
Compression Binding:
From ResourceManager.cs:26.

Deobfuscation

Many Frostbite files use simple XOR obfuscation:
The ProfilesLibrary specifies which deobfuscator to use per game.

Version and Patch Detection

Frosty detects game versions and patches:
From FileSystem.cs:84.
When a new patch is detected, Frosty invalidates its cache and rebuilds the asset index. This ensures compatibility but requires a full reload.

Next Steps

Asset System

Learn about EBX, RES, chunks, and how assets are structured

Architecture

Understand the overall Frosty system architecture