Permalink
Browse files
GB Video: Only redraw SGB border when MASK is disabled (fixes #1034)
- Loading branch information...
Showing
with
9 additions
and
3 deletions.
-
+9
−3
src/gb/renderers/software.c
|
|
@@ -326,10 +326,14 @@ static void GBVideoSoftwareRendererWriteSGBPacket(struct GBVideoRenderer* render |
|
|
|
|
|
break;
|
|
|
case SGB_ATRC_EN:
|
|
|
- if (softwareRenderer->sgbBorders) {
|
|
|
+ if (softwareRenderer->sgbBorders && !renderer->sgbRenderMode) {
|
|
|
_regenerateSGBBorder(softwareRenderer);
|
|
|
}
|
|
|
break;
|
|
|
+ case SGB_MASK_EN:
|
|
|
+ if (!renderer->sgbRenderMode) {
|
|
|
+ _regenerateSGBBorder(softwareRenderer);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -356,7 +360,9 @@ static void GBVideoSoftwareRendererWritePalette(struct GBVideoRenderer* renderer |
|
|
renderer->writePalette(renderer, 0x50, value);
|
|
|
renderer->writePalette(renderer, 0x60, value);
|
|
|
renderer->writePalette(renderer, 0x70, value);
|
|
|
- _regenerateSGBBorder(softwareRenderer);
|
|
|
+ if (!renderer->sgbRenderMode) {
|
|
|
+ _regenerateSGBBorder(softwareRenderer);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -572,7 +578,7 @@ static void GBVideoSoftwareRendererFinishFrame(struct GBVideoRenderer* renderer) |
|
|
case SGB_PAL_TRN:
|
|
|
case SGB_CHR_TRN:
|
|
|
case SGB_PCT_TRN:
|
|
|
- if (softwareRenderer->sgbTransfer > 0 && softwareRenderer->sgbBorders) {
|
|
|
+ if (softwareRenderer->sgbTransfer > 0 && softwareRenderer->sgbBorders && !renderer->sgbRenderMode) {
|
|
|
// Make sure every buffer sees this if we're multibuffering
|
|
|
_regenerateSGBBorder(softwareRenderer);
|
|
|
}
|
|
|
|
0 comments on commit
f29cff2