cute_aseprite: continued support#421
Conversation
|
Put your name in the docs credits somewhere! |
Many thanks ! I added credits along with the date. |
|
I tried this out, and while I haven't dove into the root cause, I think there's a regression in how the pixels are loaded? By just replacing the old cute_aseprite with this one in pntr_aseprite, it aseprite character no longer displays. |
Thank you @RobLoach. Ill take a look at it later this week |
|
Same with this one too: Again, I'm unsure what goes wrong with it, could likely dive deeper on it next week. |
|
I think to merge this in it would be much easier to separate into smaller and different PRs. Suggestion: One for tileset, one for tilemap (if it's different enough from tileset, I haven't looked and don't know), one for greyscale/indexed. It's risky to adjust code and takes a lot of time/effort to test, so smaller more atomic PR really help save me time. Otherwise I don't feel like we can merge it in as-is. |
|
I have broken up the pull request starting with indexed and grayscale color mode #423. |
|
Closing this for now since we're breaking it up into smaller PRs. |
This pull requests adds support for color modes grayscale and indexed color modes, as well as, support for tilesets and tilemaps
struct ase_frame_tnow has a fieldvoid* pixels;instead of aase_color_t* pixelsto reflect how the specs defined a pixel. We can cast to our desired color types (struct ase_color_t,struct ase_grayscale_t, andstruct ase_index) as needed.A pixel as described in the specs:
Because blending is not supported for indexed color the blending step is skipped for routes where
ase->mode == ASE_MODE_INDEXED.I also added support chunk
0x2023; tilesets and tilemaps throughstruct ase_tileset_tandstruct ase_cel_tilemap_trespectively.An example of loading and reading the pixels of a tileset:
An example of loading and reading the tiles from a tilemap: