diff options
Diffstat (limited to 'src/graphic.c')
-rw-r--r-- | src/graphic.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/graphic.c b/src/graphic.c index 576cbfa..802fd5d 100644 --- a/src/graphic.c +++ b/src/graphic.c @@ -221,45 +221,47 @@ int paintTerrain(gameIni_t *gIni, gameRess_t *gRess, gameGraphics_t *gGraph) { return 0; } -int repaint(gameGraphSurfaces_t *srcSurfs, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect dstRect) { - int objToRepaintCount, i, res; - gameGraphObjState_t *objToRepaint; +int repaint(gameObjectsState_t *objStates, gameGraphSurfaces_t *srcSurfs, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect dstRect) { + int res; + gameObjectsState_t objToRepaint; +// int i; - objToRepaintCount=findAndZSortObjects(srcSurfs->objectsStat, srcRect, &objToRepaint); + findAndZSortObjects(objStates, srcRect, &objToRepaint); - for(i=0;i<objToRepaintCount;++i) { - if(objToRepaint[i].zOrder>0) break; - res=paintObject(objToRepaint+i, srcRect, dstSurf, &dstRect); +/* + for(i=0;i<objToRepaint.objCount;++i) { + if(objToRepaint.allObj[i].zOrder>0) break; + res=paintObject(objToRepaint.allObj+i, srcRect, dstSurf, &dstRect); if ( res!=0 ) { logs(LOG_DEBUG, "repaint(), paintObject() failed"); } } - +*/ res=SDL_BlitSurface(srcSurfs->terrain, srcRect, dstSurf, &dstRect); if ( res!=0 ) { logs2(LOG_DEBUG, "repaint(), SDL_BlitSurface()", SDL_GetError()); } - - for(;i<objToRepaintCount;++i) { - res=paintObject(objToRepaint+i, srcRect, dstSurf, &dstRect); +/* + for(;i<objToRepaint.objCount;++i) { + res=paintObject(objToRepaint.allObj+i, srcRect, dstSurf, &dstRect); if ( res!=0 ) { logs(LOG_DEBUG, "repaint(), paintObject() failed"); } } - - free(objToRepaint); +*/ return res; } -int findAndZSortObjects(gameGraphObjState_t *objectsStat, SDL_Rect *offsetRect, gameGraphObjState_t **objectsFound) { +int findAndZSortObjects(gameObjectsState_t *objectsStat, SDL_Rect *offsetRect, gameObjectsState_t *objectsFound) { //TODO fprintf(stderr, "TODO findAndZSortObjects(%p, %p, %p)\n", (void *)objectsStat,(void *)offsetRect,(void *)objectsFound); - *objectsFound=NULL; + objectsFound->objCount=0; return 0; } -int paintObject(gameGraphObjState_t *obj, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect *dstRect) { +int paintObject(struct gameObjectState *obj, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect *dstRect) { //TODO fprintf(stderr, "TODO paintObject(%p, %p, %p, %p)\n", (void *)obj,(void *)srcRect,(void *)dstSurf, (void *)dstRect); return 0; } + |