Created
February 10, 2016 09:41
-
-
Save anonymous/c5b3e71bf77b5e4f25ab to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- src/sdl/i_system.cpp 2014-09-07 14:15:44.000000000 +0000 | |
+++ src/sdl/i_system.cpp.new 2014-09-14 20:56:40.003386878 +0000 | |
@@ -123,14 +123,13 @@ void I_EndRead(void) | |
static DWORD TicStart; | |
-static DWORD TicNext; | |
static DWORD BaseTime; | |
static int TicFrozen; | |
// Signal based timer. | |
static Semaphore timerWait; | |
static int tics; | |
-static DWORD sig_start, sig_next; | |
+static DWORD sig_start; | |
void I_SelectTimer(); | |
@@ -169,7 +168,6 @@ int I_GetTimePolled (bool saveMS) | |
if (saveMS) | |
{ | |
TicStart = tm; | |
- TicNext = Scale((Scale (tm, TICRATE, 1000) + 1), 1000, TICRATE); | |
} | |
return Scale(tm - BaseTime, TICRATE, 1000); | |
} | |
@@ -179,7 +177,6 @@ int I_GetTimeSignaled (bool saveMS) | |
if (saveMS) | |
{ | |
TicStart = sig_start; | |
- TicNext = sig_next; | |
} | |
return tics; | |
} | |
@@ -250,7 +247,6 @@ void I_HandleAlarm (int sig) | |
if(!TicFrozen) | |
tics++; | |
sig_start = SDL_GetTicks(); | |
- sig_next = Scale((Scale (sig_start, TICRATE, 1000) + 1), 1000, TICRATE); | |
SEMAPHORE_SIGNAL(timerWait) | |
} | |
@@ -293,15 +289,14 @@ void I_SelectTimer() | |
fixed_t I_GetTimeFrac (uint32 *ms) | |
{ | |
DWORD now = SDL_GetTicks (); | |
- if (ms) *ms = TicNext; | |
- DWORD step = TicNext - TicStart; | |
- if (step == 0) | |
+ if (ms) *ms = TicStart + (1000 / TICRATE); | |
+ if (TicStart == 0) | |
{ | |
return FRACUNIT; | |
} | |
else | |
{ | |
- fixed_t frac = clamp<fixed_t> ((now - TicStart)*FRACUNIT/step, 0, FRACUNIT); | |
+ fixed_t frac = clamp<fixed_t> ((now - TicStart)*FRACUNIT*TICRATE/1000, 0, FRACUNIT); | |
return frac; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment