- Made sdl/i_system.cpp:I_GetTimePolled() functionally equivalent to the
Win32 version. - Updated fmod_wrap.h and fmodsound.cpp for FMOD 4.20. - GCC warning removal. SVN r1286 (trunk)
This commit is contained in:
parent
fb1af415f5
commit
c1cefee2f4
8 changed files with 68 additions and 34 deletions
|
|
@ -87,7 +87,7 @@ DWORD LanguageIDs[4] =
|
|||
|
||||
int (*I_GetTime) (bool saveMS);
|
||||
int (*I_WaitForTic) (int);
|
||||
void (*I_FreezTime) (bool frozen);
|
||||
void (*I_FreezeTime) (bool frozen);
|
||||
|
||||
void I_Tactile (int on, int off, int total)
|
||||
{
|
||||
|
|
@ -117,6 +117,7 @@ unsigned int I_MSTime (void)
|
|||
|
||||
static DWORD TicStart;
|
||||
static DWORD TicNext;
|
||||
static DWORD BaseTime;
|
||||
static int TicFrozen;
|
||||
|
||||
//
|
||||
|
|
@ -131,13 +132,17 @@ int I_GetTimePolled (bool saveMS)
|
|||
}
|
||||
|
||||
DWORD tm = SDL_GetTicks ();
|
||||
if (BaseTime == 0)
|
||||
{
|
||||
BaseTime = tm;
|
||||
}
|
||||
|
||||
if (saveMS)
|
||||
{
|
||||
TicStart = tm;
|
||||
TicNext = Scale ((Scale (tm, TICRATE, 1000) + 1), 1000, TICRATE);
|
||||
}
|
||||
return Scale (tm, TICRATE, 1000);
|
||||
return Scale (tm - BaseTime, TICRATE, 1000);
|
||||
}
|
||||
|
||||
int I_WaitForTicPolled (int prevtic)
|
||||
|
|
@ -151,22 +156,22 @@ int I_WaitForTicPolled (int prevtic)
|
|||
return time;
|
||||
}
|
||||
|
||||
void I_FreezeTimePolled (bool frozen)
|
||||
{
|
||||
if (frozen)
|
||||
{
|
||||
assert(TicFrozen == 0);
|
||||
TicFrozen = I_GetTimePolled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
assert(TicFrozen != 0);
|
||||
int froze = TicFrozen;
|
||||
TicFrozen = 0;
|
||||
int now = I_GetTimePolled(false);
|
||||
basetime += (now - froze) * 1000 / TICRATE;
|
||||
}
|
||||
}
|
||||
void I_FreezeTimePolled (bool frozen)
|
||||
{
|
||||
if (frozen)
|
||||
{
|
||||
assert(TicFrozen == 0);
|
||||
TicFrozen = I_GetTimePolled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
assert(TicFrozen != 0);
|
||||
int froze = TicFrozen;
|
||||
TicFrozen = 0;
|
||||
int now = I_GetTimePolled(false);
|
||||
BaseTime += (now - froze) * 1000 / TICRATE;
|
||||
}
|
||||
}
|
||||
|
||||
// Returns the fractional amount of a tic passed since the most recent tic
|
||||
fixed_t I_GetTimeFrac (uint32 *ms)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue