Recalculate gameLocal.msec each frame so 60 frames add up to 1000ms #706
+44
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
based on a patch from @dezo2 for high-fps support, who took the general idea from D3BFG
this works around the problem that for most framerates, with integer frametimes, gameHz * frametime doesn't add up to 1000ms (e.g. 120Hz * 8ms = 960ms), by making some frames a millisecond longer
This problem even exists at 60fps, where the integer frametime is 16 (while it should be 16.666), this causes audio and video in cut scenes (or longer animated talking NPC) and videos to get out of sync. It only worked properly when running without vsync so the game ran at 62.5fps - but now that dhewm3 enforces proper 60fps, the problem always occurs. This commit should fix that.
fix #703