25 static double firsttime;
31 #endif //tells VCC not to generate min/max macros
33 static LONGLONG ttime;
34 static LONGLONG newtime = 0;
36 static double dblnewtime;
38 #if defined (HAVE_SDL)
41 static double newtime;
42 static double lasttime;
45 #include <sys/types.h>
47 static double elapsedtime = .1;
48 static double timecompression = 1;
53 return dblnewtime-firsttime;
55 return newtime-firsttime;
66 timecompression *= 1.5;
74 timecompression /= 1.5;
89 static bool paused =
false;
91 if (paused ==
false) {
92 timecompression = .0000001;
104 return timecompression;
109 timecompression = tc;
115 static bool paused =
false;
133 #endif //tells VCC not to generate min/max macros
148 (void) usleep( (useconds_t) n );
155 struct timeval tv = {
159 tv.tv_usec = n%1000000;
160 tv.tv_sec = n/1000000;
161 select( 0, NULL, NULL, NULL, &tv );
168 QueryPerformanceFrequency( (LARGE_INTEGER*) &freq );
169 QueryPerformanceCounter( (LARGE_INTEGER*) &ttime );
171 #elif defined (HAVE_GETTIMEOFDAY)
173 (void) gettimeofday( &tv, NULL );
175 newtime = (double) tv.tv_sec+(
double) tv.tv_usec*1.e-6;
176 lasttime = newtime-.001;
178 #elif defined (HAVE_SDL)
179 newtime = SDL_GetTicks()*1.e-3;
180 lasttime = newtime-.001;
183 # error "We have no way to determine the time on this system."
197 QueryPerformanceCounter( (LARGE_INTEGER*) &tmpnewtime );
198 return ( (
double) tmpnewtime )/(double) freq-firsttime;
199 #elif defined (HAVE_GETTIMEOFDAY)
201 (void) gettimeofday( &tv, NULL );
202 double tmpnewtime = (double) tv.tv_sec+(
double) tv.tv_usec*1.e-6;
203 return tmpnewtime-firsttime;
204 #elif defined (HAVE_SDL)
205 double tmpnewtime = SDL_GetTicks()*1.e-3;
206 return tmpnewtime-firsttime;
208 # error "We have no way to determine the time on this system."
217 QueryPerformanceCounter( (LARGE_INTEGER*) &tmpnewtime );
218 return ( (
double) tmpnewtime )/(double) freq;
219 #elif defined (HAVE_GETTIMEOFDAY)
221 (void) gettimeofday( &tv, NULL );
222 double tmpnewtime = (double) tv.tv_sec+(
double) tv.tv_usec*1.e-6;
223 #elif defined (HAVE_SDL)
224 double tmpnewtime = SDL_GetTicks()*1.e-3;
226 # error "We have no way to determine the time on this system."
227 double tmpnewtime = 0.;
230 static double reallyfirsttime = tmpnewtime;
231 return tmpnewtime - reallyfirsttime;
236 static bool first=
true;
238 QueryPerformanceCounter( (LARGE_INTEGER*) &newtime );
239 elapsedtime = ( (double) (newtime-ttime) )/freq;
244 dblnewtime = ( (double) newtime )/( (double) freq );
246 firsttime = dblnewtime;
247 #elif defined (HAVE_GETTIMEOFDAY)
249 (void) gettimeofday( &tv, NULL );
251 newtime = (double) tv.tv_sec+(
double) tv.tv_usec*1.e-6;
252 elapsedtime = newtime-lasttime;
255 #elif defined (HAVE_SDL)
257 newtime = SDL_GetTicks()*1.e-3;
258 elapsedtime = newtime-lasttime;
262 # error "We have no way to determine the time on this system."
264 elapsedtime *= timecompression;