GBA Video: Fix OBJWIN mosaic sprites

This commit is contained in:
Jeffrey Pfau 2015-09-20 21:10:02 -07:00
parent 2cbf40cc13
commit 3b8639aa05
1 changed files with 12 additions and 2 deletions

View File

@ -236,7 +236,12 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re
if (flags & FLAG_OBJWIN) {
SPRITE_NORMAL_LOOP(16, OBJWIN);
} else if (GBAObjAttributesAIsMosaic(sprite->a)) {
SPRITE_MOSAIC_LOOP(16, NORMAL);
if (objwinSlowPath) {
objwinPalette = &objwinPalette[GBAObjAttributesCGetPalette(sprite->c) << 4];
SPRITE_MOSAIC_LOOP(16, NORMAL_OBJWIN);
} else {
SPRITE_MOSAIC_LOOP(16, NORMAL);
}
} else if (objwinSlowPath) {
objwinPalette = &objwinPalette[GBAObjAttributesCGetPalette(sprite->c) << 4];
SPRITE_NORMAL_LOOP(16, NORMAL_OBJWIN);
@ -247,7 +252,12 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re
if (flags & FLAG_OBJWIN) {
SPRITE_NORMAL_LOOP(256, OBJWIN);
} else if (GBAObjAttributesAIsMosaic(sprite->a)) {
SPRITE_MOSAIC_LOOP(256, NORMAL);
if (objwinSlowPath) {
objwinPalette = &objwinPalette[GBAObjAttributesCGetPalette(sprite->c) << 4];
SPRITE_MOSAIC_LOOP(256, NORMAL_OBJWIN);
} else {
SPRITE_MOSAIC_LOOP(256, NORMAL);
}
} else if (objwinSlowPath) {
SPRITE_NORMAL_LOOP(256, NORMAL_OBJWIN);
} else {