changeset 361:bf60f60cafba

Fix engine breakage.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 16 Oct 2012 21:53:53 +0300
parents d5a90ba09dc4
children d6c184800384
files dmengine.h dmsimple.c
diffstat 2 files changed, 13 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/dmengine.h	Tue Oct 16 21:28:56 2012 +0300
+++ b/dmengine.h	Tue Oct 16 21:53:53 2012 +0300
@@ -22,7 +22,7 @@
 
 typedef struct
 {
-    int currFrame, endTime, startTime;
+    int time, number;
 } DMFrameData;
 
 
@@ -34,13 +34,14 @@
     DMTimeline *tl;
     DMPreparedTimeline *ptl;
 
-    DMFrameData frame;
-    int totalFrameTime, adjustTime, pauseTime;
+    int frameTime, frameCount,
+        startTime, endTime,
+        adjustTime, pauseTime;
 
     BOOL pauseFlag, paused, exitFlag;
+
     SDL_Surface *screen;
     SDL_Event event;
-
     SDL_AudioSpec optAfmt;
     int optScrWidth, optScrHeight, optVFlags, optBitDepth, optResFlags;
     char *optDataPath, *optPackFilename;
--- a/dmsimple.c	Tue Oct 16 21:28:56 2012 +0300
+++ b/dmsimple.c	Tue Oct 16 21:53:53 2012 +0300
@@ -50,7 +50,7 @@
 
 int engineGetTick()
 {
-    return (engine.frame.startTime - engine.startTime) + engine.adjustTime;
+    return (engine.frameTime - engine.startTime) + engine.adjustTime;
 }
 
 
@@ -94,13 +94,13 @@
     }
 #endif
 #ifdef DM_USE_TREMOR
-    if (engine.audioPos + len >= engine.audio->rdataSize)
+    if (engine.audioPos + len >= engine.audioRes->rdataSize)
     {
         engine.exitFlag = TRUE;
     }
     else
     {
-        memcpy(stream, engine.audio->rdata + engine.audioPos, len);
+        memcpy(stream, engine.audioRes->rdata + engine.audioPos, len);
         engine.audioPos += len;
     }
 #endif
@@ -182,7 +182,6 @@
     int err;
     BOOL initSDL = FALSE;
 
-    memset(&frame, 0, sizeof(frame));
     memset(&engine, 0, sizeof(engine));
 
     // Pre-initialization
@@ -395,7 +394,7 @@
         }
 
         // Draw frame
-        engine.frame.startTime = SDL_GetTicks();
+        engine.frameTime = SDL_GetTicks();
         if (engine.pauseFlag != engine.paused)
         {
             engine.paused = engine.pauseFlag;
@@ -404,7 +403,7 @@
         
         if (engine.paused)
         {
-            engine.startTime = engine.frame.startTime - engine.pauseTime;
+            engine.startTime = engine.frameTime - engine.pauseTime;
         }
 
         if (SDL_MUSTLOCK(engine.screen) != 0 && SDL_LockSurface(engine.screen) != 0)
@@ -432,17 +431,14 @@
         SDL_Flip(engine.screen);
         SDL_Delay(engine.paused ? 100 : 20);
 
-        // Get frame time, etc
-        engine.frame.endTime = SDL_GetTicks();
-        engine.currFrame++;
-        engine.totalFrameTime += engine.frame.endTime - engine.frame.startTime;
+        engine.frameCount++;
     }
 
     // Print benchmark results
     engine.endTime = SDL_GetTicks();
     dmPrint(1, "%d frames in %d ms, fps = %1.3f\n",
-        engine.currFrame, engine.endTime - engine.startTime,
-        (float) (engine.currFrame * 1000.0f) / (float) engine.totalFrameTime);
+        engine.frameCount, engine.endTime - engine.startTime,
+        (float) (engine.frameCount * 1000.0f) / (float) (engine.endTime - engine.startTime));
 
 
 error_exit: