unify(w3ddisplay): Match Zero Hour texture bit depth in Generals - #3181
unify(w3ddisplay): Match Zero Hour texture bit depth in Generals#3181Jaredl-Dev wants to merge 1 commit into
Conversation
c3bdf3f to
6d508d7
Compare
PR Summary by QodoFix Generals control bar discoloration by forcing 32-bit texture bitdepth
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. Undocumented magic bitdepth
|
|
This change somehow cannot be merged. The Merge button is greyed out. |
6d508d7 to
e21b835
Compare
|
@xezon I believe you can't merge this because the GeneralsMD CI gates appear to be stuck and won't run. I already force-pushed an amended commit with no changes, but they still got stuck. |
This fixes the discolored control bar textures in Generals introduced by #726.
Issue
The Generals control bar displays visible discoloration and quantization across its background textures.
Root cause
Before #726, Generals selected texture formats using the device bit depth, keeping the 32-bit control bar textures intact.
#726 made Generals honor
WW3D::Get_Texture_Bitdepth(), matching Zero Hour. However, Generals still left the texture bit depth at its default value of 16. This caused the 32-bit control bar textures to be converted fromA8R8G8B8toA4R4G4B4, producing the visible discoloration.Fix
Generals now explicitly sets the texture bit depth to 32 during
W3DDisplayinitialization, matching Zero Hour and restoring the effective pre-#726 rendering behavior.Verification