summaryrefslogtreecommitdiff
path: root/librosprite.c
diff options
context:
space:
mode:
Diffstat (limited to 'librosprite.c')
-rw-r--r--librosprite.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/librosprite.c b/librosprite.c
index 21358f0..9ca40c7 100644
--- a/librosprite.c
+++ b/librosprite.c
@@ -686,8 +686,12 @@ static uint32_t rosprite_palette_lookup(struct rosprite* sprite, uint32_t pixel)
uint32_t translated_pixel;
/* because we're dealing with 8bpp or less */
if (sprite->has_palette) {
- assert(pixel <= sprite->palettesize); /* TODO: what to do if your color depth is bigger than palette? */
- translated_pixel = sprite->palette[pixel];
+
+ if(pixel <= (sprite->palettesize/8)) {
+ translated_pixel = sprite->palette[pixel];
+ } else {
+ translated_pixel = sprite_8bpp_palette[pixel];
+ }
} else {
switch (sprite->mode.colorbpp) {
case 8: