fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
802 stars 132 forks source link

Widescreen statusbar sometimes duplicates numbers in automap #594

Closed kitchen-ace closed 4 years ago

kitchen-ace commented 4 years ago

Background

Version of Crispy Doom: 5.8.0

Operating System and version: Arch Linux 64-bit

Game: Doom

When cycling through the different widened extended statusbar/HUD modes with +, and then going to the automap, you can get duplicate numbers as in the screenshot below. This doesn't seem to always happen though, I can't figure out a consistent way to reproduce it, but it should be easy enough to repro by pressing tab after changing the HUD mode a few times.

nb: this was discovered as part of a test for this post on DoomWorld; if you were to implement a no-HUD automap it should maybe be done before fixing this bug (but also maybe not).

DOOM0000

fabiangreffrath commented 4 years ago

This only happens with "Uncapped Framerate" enabled, right?

kitchen-ace commented 4 years ago

Seems like that's right.

fabiangreffrath commented 4 years ago

So, the general logic seems to be correct, but there is still a racing condition between the engine "knowing" that it has to draw the brick background for the status bar because of the automap - but still not having realized that the automap requires the narrow widget alignment. I guess I'll have to move the check for this from the thinker function into the drawer function.