I just started using the N-bit routine in my RPG (Considering how much imagery I have, compression like this is absolutely necessary). I did encounter a few issues though.
First, the image data that SourceCoder generates for 8-bit images has too many commas. I have to delete commas from the beginning of every single line in the image data. The palette data does not have this problem.
Second, when I used a 24-bit bitmap SourceCoder was unable to generate a good palette, probably because it ran out of colors to use. Giving SourceCoder a 256-color bitmap fixed that problem.
Third, using the unmodified data generated by SourceCoder with the CopySpriteNBit routine from the wiki generates the following warnings:
Code: H:/Casio/PrizmSDK-0.3/projects/Switched/src/tilemap.c: In function 'RenderTilemap':
H:/Casio/PrizmSDK-0.3/projects/Switched/src/tilemap.c:18:5: warning: pointer targets in passing argument 1 of 'CopySpriteNbit' differ in signedness [-Wpointer-s
ign]
H:/Casio/PrizmSDK-0.3/projects/Switched/src/graphics.h:14:6: note: expected 'const unsigned char *' but argument is of type 'const char *'
H:/Casio/PrizmSDK-0.3/projects/Switched/src/tilemap.c:18:5: warning: passing argument 6 of 'CopySpriteNbit' discards 'const' qualifier from pointer target type
[enabled by default]
Other than that everything works as advertised.
I really, really appreciate the ability to generate compressed image data for the Prizm. Without it my tilemaps alone are larger than the default amount of ROM that the compiler sets. Thank you very much for this amazing feature