grit 0.8.4 (out with the old bugs, in with the new)

Okay, so it's been a while, but there's finally a new version for grit.

 

First of all, the vector::insert should finally be fixed. And there was much rejoicing. I've also added an option for forcing the map palette-index (-mp <num>, which should help with NDS backgrounds that use ext-palettes.

 

Also – and this one is pretty big – I've completely replaced the tile-mapping routines for something more general. The new method should be able to handle variable-sized tiles (-tw <n> and -th <n>) and is mostly independent of bitdepth. Specifically, bitdepths over 8 bpp can be handled as well, at least in principle. It also means that the external tileset can be a metatile-set as well now, which is good if you're using metatiles.

With this new method also comes a way to create a custom bitformat for maps (-mB flag). I'm not entirely sure how this can be used yet, but using more than 10 bits for the tile-index, or a 1bpp collision map should be possible now.

Since this is a fairly major change, I kinda expect there's still some bugs in the system. I have tested it for a number of options, but you know how it is with multi-platform stuff. In particular, if any of you big-endian-system users have trouble now, this will probably be the cause.

And now I will leave you with a …

4 thoughts on “grit 0.8.4 (out with the old bugs, in with the new)

  1. Neat, here's how you'd specify the Virtual Boy map entry format: "16:p2hv_i11"

    About the change to -Len identifiers, I thought in C a static const wasn't a real constant. Or doesn't it matter?

  2. A static const is not a literal constant, like a #define, (or worse, a magic number), but it definitely is a constant. You could even say it's a realer constant that the others, as the compiler can actually see it.

    The difference between a static const and a #define constant is effectively nil. No extra space is allocated for either one, which was my concern at first. It's generally advised to use static const and static inline instead of #define anyway, I've just been a little late with it.

Leave a Reply

Your email address will not be published. Required fields are marked *