diff options
Diffstat (limited to 'src/test/testrender.c')
-rw-r--r-- | src/test/testrender.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/test/testrender.c b/src/test/testrender.c index 634f16d..5ec71d7 100644 --- a/src/test/testrender.c +++ b/src/test/testrender.c @@ -63,7 +63,7 @@ int main(int argc, char **argv) { SDL_Rect viewport; SDL_Event uiEvent; - int mainLoopEnd; + int mainLoopEnd, uiTick; SDL_Rect winPos = { .x=SDL_WINDOWPOS_UNDEFINED, .y=SDL_WINDOWPOS_UNDEFINED, .w=MPL_WIN_W, .h=MPL_WIN_H }; Uint32 initFlags = SDL_INIT_TIMER|SDL_INIT_VIDEO; @@ -85,7 +85,9 @@ int main(int argc, char **argv) { gState.cameraX = gIni.level.xPos; + /* Main render loop */ + uiTick = 0; mainLoopEnd = 0; while (!mainLoopEnd) { int i; @@ -96,18 +98,24 @@ int main(int argc, char **argv) { mainLoopEnd = 1; } } + SDL_RenderClear(rend); (void) renderTerrain(rend, &gState); (void) renderSprites(rend, &gState); SDL_RenderPresent(rend); - for (i=0;i<gState.renderListSize;i++) { - renderItem_t *it = &gState.renderList[i]; - if (it->animate==1) { - it->currframe = (it->currframe + 1) % it->sprite->frames; + if (uiTick % 4 == 0) { + gState.tick++; + for (i=0;i<gState.renderListSize;i++) { + renderItem_t *it = &gState.renderList[i]; + if (it->animate==1) { + it->currframe = (it->currframe + 1) % it->sprite->frames; + } } } - SDL_Delay(100); + SDL_Delay(25); + gState.cameraX = (gState.cameraX + 1) % (LEVEL_WIDTH - MPL_WIN_W); + uiTick++; } disposeRenderList(&gState); unloadStyleRes(&gRess); |