GitHub repository: Radfordhound/HedgeLib
Description: A C++ library and collection of tools that aims to make modding games in the Sonic the Hedgehog franchise easier.
Topics: game, gui, havok, modding, modding-games, sonic, sonic-colors, sonic-forces, sonic-frontiers, sonic-generations, sonic-lost-world, sonic-the-hedgehog, sonic-unleashed, tools

HedgeLib Alpha 0.1: tag_name: v0.1-alpha
body: **If you're not a developer, just download one of the HedgeTools archives below; they have all you need.**
**NOTE:** This first release does not include a build of HedgeEdit as it's still in a pre-alpha state.

HedgeLib's first ever "stable" release!
This first release includes the following:

## HedgeArcPack (BETA 1.0)

The first beta release of HedgeArcPack; HedgeLib's archive-editing utility!
This release supports extracting and repacking of archives from the following games:
- Sonic Unleashed (Only supports uncompressed data currently)
- Sonic Generations (Only supports uncompressed data currently)
- Sonic Lost World
- Sonic Forces

It utilizes HedgeLib's **direct-memory loading** capabilities, making it **incredibly fast** and **accurate** to the original games!

You can use it via the command line, **or simply by dragging an archive or folder onto the exe** on Windows.

This is a beta release of HedgeArcPack. I've tested it a fair amount and from my experience it is stable. That said, there may be some bugs. If you encounter any, please let me know via [creating an issue](https://github.com/Radfordhound/HedgeLib/issues/new). You can also contact me via [Twitter](https://twitter.com/radfordhound), my [Discord server](https://bit.ly/RadsHangout) (or directly via DMs: Radfordhound#1630), or my public email (radfordhound@gmail.com).

### Planned features for future releases
The following is **not yet supported**, but is planned for a future release:
- Auto-detection of archive type when repacking from a folder based on the type of the archives about to be replaced. You'll still have to specify the archive type manually when generating a new archive from scratch, but won't have to on subsequent repacks.
- Support for Compressed archives from Sonic Unleashed/Sonic Generations on Xbox 360, PS3, and PC.
- Support for archives from more games, including Sonic Heroes, Shadow the Hedgehog, Sonic '06, Sonic and the Secret Rings/Black Knight, Sonic Colors, Team Sonic Racing, and Mario & Sonic at the Olympic Games Tokyo 2020.
- Flags for specifying padding amount and whether or not to generate an arl for Unleashed/Generations archive generation.

## HedgeOffsets (ALPHA 0.1)

HedgeOffsets is a simple tool for modders/reverse-engineers intended to help simplify/speed up the "cracking" process by listing all of the offsets found in a given file that contains an offset table, as well as some metadata.

Currently it only supports the BINA v200 and BINA v210 formats. Support for Hedgehog Engine formats (including the "Mirage" header), PACx formats, and NO formats (such as XNO and SWIF) are planned for a future release.

## HedgeLib (ALPHA 0.1)

HedgeLib is a library designed to make Sonic modding easier; it's what powers all of the above tools.
This version of HedgeLib supports the following formats:

### Hedgehog Engine
- "Mirage" headers (used in models/materials from Lost World and beyond)
- Models (.model/.terrain-model; v5.0)

### Sonic Forces
- Archives (.pac; aka "PACx V3")

### Sonic Lost World
- Archives (.pac; aka "PACx V2")

### Sonic Unleashed/Generations
- Uncompressed Archives (.ar/.pfd; Compressed Archive support will be added in a future release)

### Other
- BINA headers and string/offset tables (used in many files from '06, Colors, LW, Forces, and more)