open-compote

A modern C# library for working with Relic Entertainment's .sga archive format. This project provides support for reading and writing SGA archives used in games built using the Essence engine.

About

open-compote is an open-source project aimed at providing mod tools developers and experienced modders with robust and easy to use tools for working with .sga archives. Whether you're developing mods, analyzing game data, or building mod tools, this library offers a simple API for SGA archive manipulation.

Key Features

  • Easy to use API — Simple, consistent APIs with, I hope good documentation
  • Forward-looking — Comprehensive schema documentation for planned versions (V4, V5, V7)
  • Well-documented — Detailed format specifications and examples
Note

Current Status: Beta-stage development. Only SGA V2 is implemented and the package is available on NuGet. If you want support for additional versions early, you can contribute with issues, feature requests, or pull requests. Community contributions are welcome.

Getting Started

Supported SGA Versions

Version Games Status Documentation
V2 Impossible Creatures,
Warhammer 40,000: Dawn of War
Supported SGA-V2.md
V3 The Outfit Planned
V4 Company of Heroes 1 Planned SGA-V4.md
V5 Warhammer 40,000: Dawn of War 2 Planned SGA-V5.md
V6 Can be created using Company of Heroes 2 archive.exe. Planned
V7 Company of Heroes 2 Planned SGA-V7.md
V9 Warhammer 40,000: Dawn of War 3 Planned
V10 Age of Empires 4,
Company of Heroes 3
Planned

Contributing

If you want support for additional SGA versions or want to improve parser coverage, please open an issue or submit a pull request on GitHub: GitHub Issues or GitHub Pull Requests.

Contributions are the fastest way to expand version support.

Disclaimer

Not affiliated with Relic Entertainment, Sega, or THQ Nordic. All rights belong to their respective parties.