-
Notifications
You must be signed in to change notification settings - Fork 151
bugfix(rendering): Fix the bugged Heat Haze (Smudge) effect of the USA Microwave Tank #1073
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I moved this call outside the above scope, because that was within the lock of the vertex buffer, which did not appear to cause issues but is technically not right.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed this call, because DX8Wrapper::Draw_Triangles will call this as well and therefore it is redundant.
|
Pekaman tried this last night and it appears to mostly work for him. Before he would get a black screen. I will get more people to test it as i integrated it into a test build. |
|
IT seems rather hit and miss, some people don't blackscreen anymore, some see the full effect or a broken version of it, while others still either blackscreen or crash. Will try to grab some system specs and what affect they had with and without. |
|
Can we can get the crash dump? |
I will get them to try it again later and grab the dumps off them. It is likely graphics driver related as the crash is clean with no error message from the game. |
|
Ah. GPU crash? Ufffff. It would be useful to know if Microwave Tank was broken or ok in original game for those that have issues with this change. |
|
I think this could be merged for now, it does fix some of the graphical issues but not every issue with the smudge effect. Some people now see the effect properly that couldn't have the effect enabled at all without a black screen. But there are still issues around this overall. I think some of the wider issues are graphics driver related more than issues with the effect itself that might not be avoided till we transition to DX9. |
|
What other issues do we still see? |
8a83a1d to
8e7b20e
Compare
Some people still get driver crashes or black screens when enabling this. |
|
:sad munkee: We need some intel on that. |
8e7b20e to
a277644
Compare
|
So I am not sure how to advance with this. The fix is a hack and it is unclear why this happens. |
Based on the test build by @Mauller, it does fix it for some people. For others, it may be a more complex issue with drivers. As it does fixes it for some people, I think this should be merged anyways for now. |
|
A worry here is whether this change introduces new issues for users, such as crashing. |
|
Can't test. Build expired :( |
a277644 to
86bee6e
Compare
|
Updated. |
|
Ok then this needs more investigation... there is something fundamentally wrong and we miss the reason for it. |
|
Tested without forcing SSAA. Works as intended (the black screen was just me alt-tabbing). 8mb.video-tzi-v8UEwefH.mp4 |
86bee6e to
e93536a
Compare
|
Pushed a few more fixes or tweaks. |
|
Tested new build. Still getting a black screen with forced SSAA. |
Does the black screen occur at 800×600? |
|
Yes |
|
It could be worth putting in a check for SSAA on NVIDIA cards by comparing the display size against the render surface size and returning |
|
|
e93536a to
eca8668
Compare
b980d83 to
bdb6551
Compare
|
What it is this super sampling setting? Does AMD have an equivalent? |
|
It's a setting in NVIDIA Control Panel. The user configures the following entries on 3D Settings of a supported game: There's an equivalent setting for AMD according to this page on AMD website but it may not work the same way as NVIDIA's implementation. |
|
Ok that is AA. |
|
I tried different AA settings and I am unable to reproduce black screen. |
|
Could be an NVIDIA-only issue then. |
|
Is the behavior in Retail exactly the same as this branch? |
|
Yes, it's an old issue. |
|
Hmm ok. So it only fixes things on AMD then currently. |
…has suggested trying
|
I have pushed a new commit which replaces the hardware test function and removes the lock rect function code. |
|
Same result. Black screen persists. |
|
Please test the new commit. Chat explained that it is illegal to read from and write to a Render Target at the same time, which is exactly what Smudge is doing. I have now created a copy of the Render Texture and I can now see the Microwave Tank effect without the hack code. |
|
Still persists :( |
|
FFFFFFFFFFFFFFFFFFFFFFFF |
|
Generated review: |



This change fixes the bugged Heat Haze (aka Smudge) effect of the USA Microwave Tank as far as I can reproduce it on my machine.
I have an AMD RX 590. I am unable to reproduce the black screen portion of the issue, but I can reliably reproduce the missing effect.
After a lot of testing and trying different code changes, I figured that this only happens when there is just a single draw call for the smudges. As soon as there were 2, everything worked perfectly. I agreed with Chat Gippity that perhaps this is some GPU driver issue that does not commit to a single draw call and needs some help to commit to it by issuing another dummy draw call.
In my tests, this avoided the issue.
We can only hope that it also fixes the black screen, unless we find a person that can reliably reproduce the black screen.
Original
generalszh.2025-06-15.18-22-00-54.mp4
This change
generalszh.2025-06-15.18-17-58-89.mp4