Mercurial > hg > dmlib
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: