Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- 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;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement