Roblox / tarmac

Command line tool to manage Roblox assets
MIT License
111 stars 25 forks source link

Rework packed image pipeline #19

Closed LPGhatguy closed 4 years ago

LPGhatguy commented 4 years ago

Fixes #17.

This PR reworks our packable image pipeline a bit. I shifted around where some of the method boundaries are and cleaned up some of the mess I made when porting from sheep to Packos.

File contents and their hashes are now read while discovering inputs, since we need to read them all anyways, which simplifies some other parts of the code. Manifests are now assumed to always have hashes.

I shifted a couple things to use BTreeMap instead of HashMap where ordering matters from a determinism perspective, which let me drop a sort() call in the packing pipeline.