Browse Source

Fix minimap RGB channel misalignment from QImage format mismatch (#793)

* Initial plan

* Fix minimap RGB channel misalignment by standardizing image format

Change unit_layer and camera_viewport_layer to use Format_RGBA8888 instead of Format_ARGB32 to match the base minimap format. This prevents byte-order and channel alignment issues when compositing overlay layers onto the base minimap, which was causing RGB split artifacts near rivers.

Co-authored-by: djeada <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: djeada <[email protected]>
Copilot 2 months ago
parent
commit
aec0fe8043
2 changed files with 2 additions and 2 deletions
  1. 1 1
      game/map/minimap/camera_viewport_layer.cpp
  2. 1 1
      game/map/minimap/unit_layer.cpp

+ 1 - 1
game/map/minimap/camera_viewport_layer.cpp

@@ -26,7 +26,7 @@ void CameraViewportLayer::init(int width, int height, float world_width,
   m_offset_x = world_width * 0.5F;
   m_offset_y = world_height * 0.5F;
 
-  m_image = QImage(width, height, QImage::Format_ARGB32);
+  m_image = QImage(width, height, QImage::Format_RGBA8888);
   m_image.fill(Qt::transparent);
 }
 

+ 1 - 1
game/map/minimap/unit_layer.cpp

@@ -19,7 +19,7 @@ void UnitLayer::init(int width, int height, float world_width,
   m_offset_x = world_width * 0.5F;
   m_offset_y = world_height * 0.5F;
 
-  m_image = QImage(width, height, QImage::Format_ARGB32);
+  m_image = QImage(width, height, QImage::Format_RGBA8888);
   m_image.fill(Qt::transparent);
 }