diff --git a/src/swrenderer/drawers/r_draw_span32.h b/src/swrenderer/drawers/r_draw_span32.h index 15f24ffcf..290703793 100644 --- a/src/swrenderer/drawers/r_draw_span32.h +++ b/src/swrenderer/drawers/r_draw_span32.h @@ -371,6 +371,7 @@ namespace swrenderer if (BlendT::Mode == (int)SpanBlendModes::Opaque) { + fgcolor.a = 255; return fgcolor; } else if (BlendT::Mode == (int)SpanBlendModes::Masked) diff --git a/src/swrenderer/drawers/r_draw_span32_sse2.h b/src/swrenderer/drawers/r_draw_span32_sse2.h index 92a50f0ff..7b0af6257 100644 --- a/src/swrenderer/drawers/r_draw_span32_sse2.h +++ b/src/swrenderer/drawers/r_draw_span32_sse2.h @@ -414,6 +414,7 @@ namespace swrenderer { __m128i outcolor = fgcolor; outcolor = _mm_packus_epi16(outcolor, _mm_setzero_si128()); + outcolor = _mm_or_si128(outcolor, _mm_set1_epi32(0xff000000)); return outcolor; } else if (BlendT::Mode == (int)SpanBlendModes::Masked) diff --git a/src/swrenderer/drawers/r_draw_sprite32.h b/src/swrenderer/drawers/r_draw_sprite32.h index 3437db81e..7032b05d5 100644 --- a/src/swrenderer/drawers/r_draw_sprite32.h +++ b/src/swrenderer/drawers/r_draw_sprite32.h @@ -322,6 +322,7 @@ namespace swrenderer if (BlendT::Mode == (int)SpriteBlendModes::Opaque) { + fgcolor.a = 255; return fgcolor; } else if (BlendT::Mode == (int)SpriteBlendModes::Shaded) diff --git a/src/swrenderer/drawers/r_draw_sprite32_sse2.h b/src/swrenderer/drawers/r_draw_sprite32_sse2.h index 6463402d8..49b62d64d 100644 --- a/src/swrenderer/drawers/r_draw_sprite32_sse2.h +++ b/src/swrenderer/drawers/r_draw_sprite32_sse2.h @@ -368,6 +368,7 @@ namespace swrenderer { __m128i outcolor = fgcolor; outcolor = _mm_packus_epi16(outcolor, _mm_setzero_si128()); + outcolor = _mm_or_si128(outcolor, _mm_set1_epi32(0xff000000)); return outcolor; } else if (BlendT::Mode == (int)SpriteBlendModes::Shaded) diff --git a/src/swrenderer/drawers/r_draw_wall32.h b/src/swrenderer/drawers/r_draw_wall32.h index 972d5c1da..64c6a8d44 100644 --- a/src/swrenderer/drawers/r_draw_wall32.h +++ b/src/swrenderer/drawers/r_draw_wall32.h @@ -285,6 +285,7 @@ namespace swrenderer if (BlendT::Mode == (int)WallBlendModes::Opaque) { + fgcolor.a = 255; return fgcolor; } else if (BlendT::Mode == (int)WallBlendModes::Masked) diff --git a/src/swrenderer/drawers/r_draw_wall32_sse2.h b/src/swrenderer/drawers/r_draw_wall32_sse2.h index e51c11165..e0b0c0d77 100644 --- a/src/swrenderer/drawers/r_draw_wall32_sse2.h +++ b/src/swrenderer/drawers/r_draw_wall32_sse2.h @@ -330,6 +330,7 @@ namespace swrenderer { __m128i outcolor = fgcolor; outcolor = _mm_packus_epi16(outcolor, _mm_setzero_si128()); + outcolor = _mm_or_si128(outcolor, _mm_set1_epi32(0xff000000)); return outcolor; } else if (BlendT::Mode == (int)WallBlendModes::Masked)