diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/graphic.c | 5 | ||||
-rw-r--r-- | src/test/testrender.c | 20 |
2 files changed, 18 insertions, 7 deletions
diff --git a/src/graphic.c b/src/graphic.c index 57f1fba..f708304 100644 --- a/src/graphic.c +++ b/src/graphic.c @@ -212,7 +212,8 @@ int renderTerrain(SDL_Renderer *rend, gameState_t *gState) { SDL_Texture * tmp_tex; tmp_surf = SDL_CreateRGBSurface(0,MPL_WIN_W, LEVEL_HEIGHT, - pf->BitsPerPixel, pf->Rmask, pf->Gmask, pf->Bmask, pf->Amask); +// pf->BitsPerPixel, pf->Rmask, pf->Gmask, pf->Bmask, pf->Amask); + pf->BitsPerPixel, pf->Rmask, pf->Gmask, pf->Bmask, 0); MPL_CHECK( tmp_surf, @@ -245,6 +246,7 @@ int renderTerrain(SDL_Renderer *rend, gameState_t *gState) { "Can't convert terrain to texture" ); + res=SDL_RenderCopy(rend, tmp_tex, &dst_rect, &dst_rect); MPL_CHECK( res==0, @@ -262,6 +264,7 @@ int renderTerrain(SDL_Renderer *rend, gameState_t *gState) { int renderSprites(SDL_Renderer *rend, gameState_t *gState) { int i, res; SDL_Rect src,dst; + renderItem_t *renderList = gState->renderList; for(i=0,res=0 ; i < gState->renderListSize && res==0 ; i++) { 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); |