]> git.mxchange.org Git - flightgear.git/commitdiff
Fixes to try to break through the win95/98 18.3 fps barrier.
authorcurt <curt>
Fri, 2 Oct 1998 21:36:09 +0000 (21:36 +0000)
committercurt <curt>
Fri, 2 Oct 1998 21:36:09 +0000 (21:36 +0000)
Time/fg_time.cxx

index eb321c9b21435bf4ca4d8cb8c91fb2c9f91a1ff6..b818eb1aeb99f91fde0fb0e8883c9041cf877988 100644 (file)
 #  include <sys/time.h>  // for get/setitimer, gettimeofday, struct timeval
 #endif
 
-//#include <Astro/orbits.hxx>
-//#include <Astro/sun.hxx>
+#ifdef  WIN32
+#  include <windows.h>
+#  ifdef __CYGWIN32__
+#    define NEAR /* */
+#    define FAR  /* */
+#  endif
+#  include <mmsystem.h>
+#endif
+
 #include <Astro/sky.hxx>
 #include <Astro/solarsystem.hxx>
 #include <Debug/fg_debug.h>
@@ -92,7 +99,12 @@ void fgTimeInit(fgTIME *t) {
 
 // Portability wrap to get current time.
 void timestamp(fg_timestamp *timestamp) {
-#if defined( HAVE_GETTIMEOFDAY )
+#if defined( WIN32 )
+    unsigned int t;
+    t = timeGetTime();
+    timestamp->seconds = 0;
+    timestamp->millis =  t;
+#elif defined( HAVE_GETTIMEOFDAY )
     struct timeval current;
     struct timezone tz;
     // fg_timestamp currtime;
@@ -117,16 +129,25 @@ void timestamp(fg_timestamp *timestamp) {
 
 // Return duration in millis from first to last
 long timediff(fg_timestamp *first, fg_timestamp *last) {
-    return 1000 * (last->seconds - first->seconds) + 
-       (last->millis - first->millis);
+#if defined( WIN32 )
+    return (last->millis - first->millis);
+#else
+    return ( 1000 * (last->seconds - first->seconds) + 
+            (last->millis - first->millis) );
+#endif
 }
 
 
 // Return new timestamp given a time stamp and an interval to add in
 void timesum(fg_timestamp *res, fg_timestamp *start, long millis) {
+#ifdef WIN32
+    res->seconds = 0;
+    res->millis = ( start->millis + millis );
+#else
     res->seconds = start->seconds + 
        ( start->millis + millis ) / 1000;
     res->millis = ( start->millis + millis ) % 1000;
+#endif
 }
 
 
@@ -427,6 +448,9 @@ void fgTimeUpdate(fgFLIGHT *f, fgTIME *t) {
 
 
 // $Log$
+// Revision 1.18  1998/10/02 21:36:09  curt
+// Fixes to try to break through the win95/98 18.3 fps barrier.
+//
 // Revision 1.17  1998/09/15 04:27:49  curt
 // Changes for new astro code.
 //