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 |
SGA-V2.md | |
| V3 | The Outfit | ||
| V4 | Company of Heroes 1 | SGA-V4.md | |
| V5 | Warhammer 40,000: Dawn of War 2 | SGA-V5.md | |
| V6 | Can be created using Company of Heroes 2 archive.exe. | ||
| V7 | Company of Heroes 2 | SGA-V7.md | |
| V9 | Warhammer 40,000: Dawn of War 3 | ||
| V10 | Age of Empires 4, Company of Heroes 3 |
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.