summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Pouzenc <lpouzenc@gmail.com>2013-07-22 21:53:59 +0200
committerLudovic Pouzenc <lpouzenc@gmail.com>2013-07-22 21:53:59 +0200
commit62811b6deeba93378141cb553481ae6804da42e5 (patch)
tree550c475b6bf4efdf8f71d3790ad9a124eb3db708
parent8d9a2b8fd5d2088d699c2bceb3a54592c33b7b84 (diff)
downloadmplemmings-62811b6deeba93378141cb553481ae6804da42e5.tar.gz
mplemmings-62811b6deeba93378141cb553481ae6804da42e5.tar.bz2
mplemmings-62811b6deeba93378141cb553481ae6804da42e5.zip
Enfin : affichage du terrain qui fonctionne dans testrender.
-rw-r--r--src/graphic.c5
-rw-r--r--src/test/testrender.c24
2 files changed, 19 insertions, 10 deletions
diff --git a/src/graphic.c b/src/graphic.c
index 3a64cfa..2dfe640 100644
--- a/src/graphic.c
+++ b/src/graphic.c
@@ -218,7 +218,8 @@ int render_terrain(SDL_Renderer *rend, SDL_Surface *terrain, int xPos) {
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,
@@ -251,6 +252,7 @@ int render_terrain(SDL_Renderer *rend, SDL_Surface *terrain, int xPos) {
"Can't convert terrain to texture"
);
+
res=SDL_RenderCopy(rend, tmp_tex, &dst_rect, &dst_rect);
MPL_CHECK(
res==0,
@@ -274,6 +276,7 @@ int render_sprites(SDL_Renderer *rend, render_item_t render_list[], int list_siz
src.y = src.h * render_list[i].currframe;
dst.x = render_list[i].x;
dst.y = render_list[i].y;
+
res=SDL_RenderCopy(rend, render_list[i].sprite->t, &src, &dst);
}
return res;
diff --git a/src/test/testrender.c b/src/test/testrender.c
index 6493507..8433f34 100644
--- a/src/test/testrender.c
+++ b/src/test/testrender.c
@@ -9,7 +9,7 @@
int buildTestRL(gameRess_t *gRess, int rlMaxLen, render_item_t render_list[]);
int main(int argc, char **argv) {
- int res;
+ int res, xPos;
char filepath[MAX_PATH_LEN];
gameIni_t gIni;
gameRess_t gRess;
@@ -80,9 +80,11 @@ int main(int argc, char **argv) {
rlLen=buildTestRL(&gRess, MAX_RENDERLIST_LEN, render_list);
+
/* Main render loop */
mainloop_end = tick = 0;
- while (!mainloop_end && tick<16) {
+ xPos = gIni.level.xPos;
+ while (!mainloop_end) {
int i;
/* Check for events */
@@ -91,19 +93,23 @@ int main(int argc, char **argv) {
mainloop_end = 1;
}
}
+
SDL_RenderClear(sdl_rend);
- (void) render_terrain(sdl_rend, gRess.terrain, gIni.level.xPos);
+ (void) render_terrain(sdl_rend, gRess.terrain, xPos);
(void) render_sprites(sdl_rend, render_list, rlLen);
SDL_RenderPresent(sdl_rend);
- for (i=0;i<rlLen;i++) {
- render_item_t *it = &render_list[i];
- if (it->animate==1) {
- it->currframe = (it->currframe + 1) % it->sprite->frames;
+ if (tick % 4 == 0) {
+ for (i=0;i<rlLen;i++) {
+ render_item_t *it = &render_list[i];
+ if (it->animate==1) {
+ it->currframe = (it->currframe + 1) % it->sprite->frames;
+ }
}
}
- SDL_Delay(100);
-// tick++;
+ SDL_Delay(25);
+ xPos = (xPos+1) % (LEVEL_WIDTH - MPL_WIN_W);
+ tick++;
}
unloadStyleRes(&gRess);
unloadMiscRes(&gRess);