Skip to content

Fix #187: Use A8R8G8B8 fallback for radar overlay and shroud formats#200

Merged
fbraz3 merged 1 commit into
mainfrom
fix-187-minimap-black
Jul 11, 2026
Merged

Fix #187: Use A8R8G8B8 fallback for radar overlay and shroud formats#200
fbraz3 merged 1 commit into
mainfrom
fix-187-minimap-black

Conversation

@fbraz3

@fbraz3 fbraz3 commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Description

Fixes #187.

On macOS (and potentially Linux) in fullscreen mode, the presentation format is negotiated as D3D9Format::X8R8G8B8 (without an alpha channel).
When the game checks for texture support via CheckDeviceFormat using the backbuffer format, DXVK/MoltenVK returns that A8R8G8B8 and A4R4G4B4 are unsupported relative to X8R8G8B8.
This causes W3DRadar::initializeTextureFormats() to fall back to WW3D_FORMAT_X8R8G8B8 (the only fallback in the original implementation of findFormat).
Because X8R8G8B8 does not have an alpha channel, the overlay and shroud (fog of war) textures render as solid opaque screens, causing the minimap to appear completely black/dark.

Changes

  • Updated findFormat in W3DRadar.cpp to accept a defaultFallback parameter (defaulting to WW3D_FORMAT_X8R8G8B8).
  • Changed the fallback for the radar overlay and shroud textures to WW3D_FORMAT_A8R8G8B8. Modern Vulkan devices support A8R8G8B8 textures natively even if DXVK's capability checks return false under X8R8G8B8 swapchains.

@fbraz3 fbraz3 merged commit f69f2d9 into main Jul 11, 2026
16 checks passed
@fbraz3 fbraz3 deleted the fix-187-minimap-black branch July 11, 2026 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Minimap is solid black

1 participant