Skip to content

Commit

Permalink
Fix renderer flush for masked text draws
Browse files Browse the repository at this point in the history
  • Loading branch information
Dextinfire committed Sep 29, 2024
1 parent ca0ed32 commit 35ac24b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
6 changes: 2 additions & 4 deletions src/renderer/opengl/renderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -522,8 +522,6 @@ void Renderer::DrawMaskedSpriteOverlay(Sprite const& sprite, Sprite const& mask,
return;
}

if (isScreencap) Flush();

if (alpha < 0) alpha = 0;
if (alpha > fadeRange + 256) alpha = fadeRange + 256;

Expand All @@ -535,7 +533,7 @@ void Renderer::DrawMaskedSpriteOverlay(Sprite const& sprite, Sprite const& mask,

glBindVertexArray(VAOSprites);
if (useMaskAlpha) {
if (CurrentMode != R2D_Masked) {
if (CurrentMode != R2D_Masked || isScreencap) {
Flush();
CurrentMode = R2D_Masked;
}
Expand All @@ -546,7 +544,7 @@ void Renderer::DrawMaskedSpriteOverlay(Sprite const& sprite, Sprite const& mask,
glUniform1i(MaskedIsInvertedLocation, isInverted);
glUniform1i(MaskedIsSameTextureLocation, false);
} else {
if (CurrentMode != R2D_MaskedNoAlpha) {
if (CurrentMode != R2D_MaskedNoAlpha || isScreencap) {
Flush();
CurrentMode = R2D_MaskedNoAlpha;
}
Expand Down
9 changes: 5 additions & 4 deletions src/renderer/renderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ void BaseRenderer::DrawProcessedText_BasicFont(
mask.Sheet = *maskedSheet;
mask.Bounds = dest;
DrawMaskedSpriteOverlay(glyph, mask, dest, color, color.a * 256, 20,
false, 0, false);
false, 0, false, i == 0);
} else {
DrawSprite(glyph, dest, color);
}
Expand All @@ -112,7 +112,7 @@ void BaseRenderer::DrawProcessedText_BasicFont(
mask.Sheet = *maskedSheet;
mask.Bounds = dest;
DrawMaskedSpriteOverlay(glyph, mask, dest, color, color.a * 256, 20,
false, 0, false);
false, 0, false, i == 0);
} else {
DrawSprite(glyph, dest, color);
}
Expand Down Expand Up @@ -172,7 +172,7 @@ void BaseRenderer::DrawProcessedText_LBFont(
mask.Bounds = outlineDest;
DrawMaskedSpriteOverlay(font->OutlineGlyph(text[i].CharId), mask,
outlineDest, color, color.a * 256, 20, false, 0,
false);
false, i == 0);
} else {
DrawSprite(font->OutlineGlyph(text[i].CharId), outlineDest, color);
}
Expand Down Expand Up @@ -200,7 +200,8 @@ void BaseRenderer::DrawProcessedText_LBFont(
mask.Sheet = *maskedSheet;
mask.Bounds = foregroundDest;
DrawMaskedSpriteOverlay(font->Glyph(text[i].CharId), mask, foregroundDest,
color, color.a * 255, 256, false, 0, false);
color, color.a * 255, 256, false, 0, false,
i == 0);
} else {
DrawSprite(font->Glyph(text[i].CharId), foregroundDest, color);
}
Expand Down

0 comments on commit 35ac24b

Please sign in to comment.