Skip to main content
FrostyCmd is a command-line interface tool for performing Frosty operations without the GUI. It’s designed for automation, batch processing, and integration into build pipelines.

Overview

FrostyCmd provides command-line access to:
  • Profile generation and management
  • Shader database dumping and analysis
  • Asset database operations
  • Batch processing workflows
FrostyCmd is primarily used by developers and advanced users. Most modding tasks can be accomplished with Frosty Editor or Mod Manager.

Installation

FrostyCmd is included with Frosty Editor:

Usage

Run FrostyCmd from the command line:

Basic Syntax

  • GamePath: Path to the game executable or data directory
  • Command: Operation to perform
  • Options: Command-specific parameters

Profile Management

Creating Game Profiles

Generate profile data for Frostbite games:
This command:
  1. Scans for supported game profiles
  2. Creates binary profile files (.bin)
  3. Generates game-specific metadata
  4. Outputs profiles to the Profiles/ directory
1

Prepare Banners

Place game banner images in Banners/ directory:
  • Format: PNG
  • Naming: <GameProfile>.png
  • Examples: SWBF2.png, DAI.png, FIFA20.png
2

Run Profile Creator

Execute the profile command:
3

Verify Output

Check Profiles/ for generated .bin files.

Profile Structure

Generated profiles contain:
  • Game metadata: Display name, cache name
  • Source paths: Game data locations
  • Deobfuscators: String decryption methods
  • SDK filename: Associated class library
  • Flags: Game-specific settings
    • MustAddChunks: Chunk handling requirement
    • EbxVersion: EBX format version
    • RequiresKey: Encryption key needed
    • ReadOnly: Profile allows viewing only
    • ContainsEAC: Anti-cheat present

Shader Operations

Shader Database Dump

Extract shader information from Frostbite’s shader database:
Parameters:
  • GamePath: Path to game executable
  • OutputPath: Where to save shader data (optional)
Output:
  • Shader bytecode files
  • Shader metadata JSON
  • Material shader mappings

Shader Block Depot Dump

Extract shader block depot data:
This extracts:
  • Shader block definitions
  • Parameter layouts
  • Constant buffer structures
  • Shader permutations
Shader dumps can be very large (several GB) depending on the game.

Asset Database Operations

Asset Enumeration

List all assets in a game:
Options:
  • --type <AssetType>: Filter by asset type (ebx, res, chunk)
  • --output <File>: Save list to file
  • --verbose: Include detailed information
Example:

Asset Extraction

Extract specific assets:
Example:

Encryption Keys

Some games require encryption keys:

Key File Format

Keys should be provided as .key files:

Using Keys

Place the key file in the same directory as the game executable:
Or specify explicitly:

Automation Examples

Batch Profile Generation

Create profiles for multiple games:

Asset Export Pipeline

Extract assets from multiple games:

Shader Analysis

Dump shaders and generate reports:

Advanced Usage

Custom Logging

FrostyCmd uses a console logger that outputs to stdout:

Integration with Build Systems

MSBuild Integration

CI/CD Pipeline (GitHub Actions)

Environment Variables

Configure FrostyCmd behavior:

Exit Codes

FrostyCmd returns standard exit codes:

Troubleshooting

DLL Dependencies

Ensure required DLLs are present:

Profile Generation Issues

1

Verify Banner Files

Ensure all banner images exist in Banners/ directory.
2

Check Permissions

Run as administrator if profile generation fails.
3

Clear Existing Profiles

Delete old profiles from Profiles/ before regenerating.

Asset Extraction Errors

  • Encryption Key Missing: Provide correct .key file
  • Asset Not Found: Verify asset name and path
  • Insufficient Disk Space: Ensure adequate storage for extraction

Performance Optimization

Large-Scale Operations

For processing many assets:

Caching

FrostyCmd caches asset database:
Delete cache to force rebuild:

Development Integration

Using FrostySdk in Code

FrostyCmd demonstrates FrostySdk usage:

Next Steps

SDK Reference

Learn to use FrostySdk in your projects

Frosty Editor

Use the visual editor for most tasks