Fix rare but possible menu/console unresponsiveness bug (Resolves #700)
It may happen if SDL timers get wonky or you've been ruuning the game for so long that the global timer wraps around.
If nowtime
gets less than resptime
and when noFurtherInput
(the input trigger) once sets to true
, you control the game instead even if you open the menu (and you can't close it). M_Ticker()
never gets called because of this, so noFurtherInput
is not being reset back to false
.
Anyway, you're not supposed to or can't even move the timer back, why not just to (nowtime != resptime)
?
It's very hard to reproduce through normal means, but it WILL eventually happen. (it did happen to me when I decided to play around with timers and make the game run as fast as possible)
There may be a better solution for this like refactoring the timer system, but this at least avoids the issue for the player not being able to exit the game if this thing happens.