tweak(w3ddisplay): Set texture bit depth to display bit depth - #3181
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. |
|
GeneralsMD is not build because this change only touches Generals. Yet it is marked Required but should not be. This change cannot be merged. |
Am I supposed to just close this PR and leave this bug in the game? Or are you saying that someone with the proper permissions should address the CI guard? |
|
Should be possible to merge it with the command line instructions |
|
I wonder if there is a bug in our build actions. But I have not seen this problem before. Perhaps try to create a duplicate of this change. |
1acccc5 to
c2cc58b
Compare
c2cc58b to
4e9cdd6
Compare
|
I see a green "Squash and merge" button, LGTM |
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 sets the texture bit depth to the selected display bit depth after display initialization is complete, restoring the effective pre-#726 rendering behavior. The existing Zero Hour call is moved to the same location to keep both implementations aligned.
Verification