Skip to content

Zig impl of Relic Entertainment's Essence formats

License

Notifications You must be signed in to change notification settings

aoemods/zig-essence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zig-essence

Low-level minimal allocation implementation of Relic's funky formats in Zig with comments and clearly named variables.

SGAs: Headers should work for all versions of SGAs, but more high-level code and complex operations are only tested on AoE4 SGAs.

Getting sgatool

You can grab a copy of sgatool, the actually executable portion of zig-essence, from the latest successful CI run, the latest release (soon), or by compiling the program yourself.

Compiling

First, install Zig. Then:

git clone https://github.com/aoemods/zig-sga
cd zig-sga
zig build
# Output in ./zig-out/bin!

# Or to run it right away (useful for developers)
zig build sgatool -- [args]

Using as a Library

See tools/sgatool.zig and build.zig for an example of how zig-essence can be used as a library in Zig!

Prior Art

Credit where credit's due!

Thanks Janne for the awesome blog post as well as the SGA viewer tooling that inspired this effort. A dozen lines of documentation are based off of a table in Janne's blog post. <3

License

MIT

All files in dump are also MIT licensed and generated by other SGA tools. Please do not add any official game archives to dump!

About

Zig impl of Relic Entertainment's Essence formats

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages