diff options
-rw-r--r-- | backends/platform/dc/display.cpp | 2 | ||||
-rw-r--r-- | graphics/VectorRendererSpec.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/backends/platform/dc/display.cpp b/backends/platform/dc/display.cpp index 9ff692f3fa..c6c8594aee 100644 --- a/backends/platform/dc/display.cpp +++ b/backends/platform/dc/display.cpp @@ -390,7 +390,7 @@ void OSystem_Dreamcast::updateScreen(void) TA_CMD_POLYGON_STRIPLENGTH_2|TA_CMD_POLYGON_PACKED_COLOUR|TA_CMD_POLYGON_TEXTURED; mypoly.mode1 = TA_POLYMODE1_Z_ALWAYS|TA_POLYMODE1_NO_Z_UPDATE; mypoly.mode2 = - TA_POLYMODE2_BLEND_SRC_ALPHA|TA_POLYMODE2_BLEND_DST_INVALPHA| + TA_POLYMODE2_BLEND_SRC/*_ALPHA*/|TA_POLYMODE2_BLEND_DST_INVALPHA| TA_POLYMODE2_ENABLE_ALPHA| TA_POLYMODE2_FOG_DISABLED|TA_POLYMODE2_TEXTURE_MODULATE_ALPHA| TA_POLYMODE2_U_SIZE_512|TA_POLYMODE2_V_SIZE_512; diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp index 37281839cb..ac21203da1 100644 --- a/graphics/VectorRendererSpec.cpp +++ b/graphics/VectorRendererSpec.cpp @@ -403,7 +403,10 @@ blendPixelPtr(PixelType *ptr, PixelType color, uint8 alpha) { (int)(idst & PixelFormat::kGreenMask)) * alpha) >> 8))) | (PixelFormat::kBlueMask & ((idst & PixelFormat::kBlueMask) + ((int)(((int)(isrc & PixelFormat::kBlueMask) - - (int)(idst & PixelFormat::kBlueMask)) * alpha) >> 8))) ); + (int)(idst & PixelFormat::kBlueMask)) * alpha) >> 8))) | + (PixelFormat::kAlphaMask & ((idst & PixelFormat::kAlphaMask) + + ((alpha >> (8 - PixelFormat::kAlphaBits)) << PixelFormat::kAlphaShift) - + (((int)(idst & PixelFormat::kAlphaMask) * alpha) >> 8)))); } template <typename PixelType, typename PixelFormat> |