diff --git a/source/core/rendering/surface.cpp b/source/core/rendering/surface.cpp index ae85e1c73..cc16cb0af 100644 --- a/source/core/rendering/surface.cpp +++ b/source/core/rendering/surface.cpp @@ -415,11 +415,11 @@ void Surface::renderWithColorReplace(int x, int y, Uint8 source_color, Uint8 tar continue; // Saltar píxeles fuera del rango del destino } - // Copia el píxel si no es transparente + // Copia el píxel si no es transparente; aplica sub_palette_ como el resto de render* Uint8 color = surface_data_->data.get()[static_cast(src_x + (src_y * surface_data_->width))]; if (color != static_cast(transparent_color_)) { surface_data->data[dest_x + (dest_y * surface_data->width)] = - (color == source_color) ? target_color : color; + (color == source_color) ? target_color : sub_palette_[color]; } } }