alpine-alpaca / asefile

Library for loading Aseprite files. Directly reads binary Aseprite files and does not require you to export files to JSON.
MIT License
46 stars 17 forks source link

fixed: sprite user data positioned right after "Palette Chunk (0x2019)" leads to error while parsing aseprite file #26

Open AnAverageGitUser opened 1 month ago

AnAverageGitUser commented 1 month ago

See point 3. under https://github.com/aseprite/aseprite/blob/v1.3.8/docs/ase-file-specs.md#user-data-chunk-0x2020 for reference.

Until now only the two older palette chunks ("Old palette chunk (0x0004)", "Old palette chunk (0x0011)") showed the correct behaviour.

I don't know in what exact circumstances aseprite decides to use what palette chunk type, but I apparently have a mixture of these in my files, which is how I noticed.

So to clarify: The following chunk orders parsed just fine:

Chunk type: ColorProfile
Chunk type: OldPalette04
Chunk type: UserData
Chunk type: Layer
Chunk type: ColorProfile
Chunk type: OldPalette11
Chunk type: UserData
Chunk type: Layer

The following chunk order failed parsing but parses now fine with this pull request:

Chunk type: ColorProfile
Chunk type: Palette
Chunk type: UserData
Chunk type: Layer