Permalink
Browse files

GB Video: Only redraw SGB border when MASK is disabled (fixes #1034)

  • Loading branch information...
endrift committed Apr 22, 2018
1 parent 4101fe5 commit f29cff2e2f36b8af71d88052cf8d3e26056d6c11
Showing with 9 additions and 3 deletions.
  1. +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

Please sign in to comment.