summaryrefslogtreecommitdiff
path: root/src/graphic.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphic.c')
-rw-r--r--src/graphic.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/graphic.c b/src/graphic.c
index bca8e2c..f067057 100644
--- a/src/graphic.c
+++ b/src/graphic.c
@@ -225,7 +225,7 @@ int paintTerrain(gameIni_t *gIni, gameRess_t *gRess, gameGraphics_t *gGraph) {
return 0;
}
-int repaint(gameObjectsState_t *objStates, gameGraphSurfaces_t *srcSurfs, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect *viewport) {
+int repaint(gameObjectsState_t *objStates, gameGraphSurfaces_t *srcSurfs, SDL_Rect *srcRect, SDL_Surface *dstSurf) {
int res;
gameObjectsState_t objToRepaint;
int i;
@@ -236,7 +236,7 @@ int repaint(gameObjectsState_t *objStates, gameGraphSurfaces_t *srcSurfs, SDL_Re
for(i=0;i<objToRepaint.objCount;++i) {
if(objToRepaint.allObj[i].zOrder>0) break;
- res=paintObject(objToRepaint.allObj+i, dstSurf, viewport);
+ res=paintObject(objToRepaint.allObj+i, dstSurf, *srcRect);
if ( res!=0 ) {
logs(LOG_DEBUG, "repaint(), paintObject() failed");
}
@@ -249,7 +249,7 @@ int repaint(gameObjectsState_t *objStates, gameGraphSurfaces_t *srcSurfs, SDL_Re
}
for(;i<objToRepaint.objCount;++i) {
- res=paintObject(objToRepaint.allObj+i, dstSurf, viewport);
+ res=paintObject(objToRepaint.allObj+i, dstSurf, *srcRect);
if ( res!=0 ) {
logs(LOG_DEBUG, "repaint(), paintObject() failed");
}
@@ -265,10 +265,11 @@ int findAndZSortObjects(gameObjectsState_t *objectsStat, SDL_Rect *offsetRect, g
return 0;
}
-int paintObject(struct gameObjectState *obj, SDL_Surface *dstSurf, SDL_Rect *viewport) {
-SDL_Rect dstRect;
-dstRect.x=obj->pos.x+viewport->x;
-dstRect.y=obj->pos.y+viewport->y;
+int paintObject(struct gameObjectState *obj, SDL_Surface *dstSurf, SDL_Rect dstRect) {
+ //TODO SDL_Rect dstRect;
+ dstRect.x = obj->pos.x;
+ dstRect.y = obj->pos.y;
+
// TODO : blitter tous les objets dans le zOrder, pas que l'objet a rafraichir
return SDL_BlitSurface(obj->s, NULL, dstSurf, &dstRect);
}