diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2010-12-11 17:40:26 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2010-12-11 17:40:26 +0000 |
commit | 82d69d291f29aba4fb04872e79f21d662a6c3d9f (patch) | |
tree | fd2f9aec09fe15053a11a06152ea51f455dcdb4f /src | |
parent | ffca80399f42709508ccaf53404f49dd1b29dd62 (diff) | |
download | 2010-netlemmings-82d69d291f29aba4fb04872e79f21d662a6c3d9f.tar.gz 2010-netlemmings-82d69d291f29aba4fb04872e79f21d662a6c3d9f.tar.bz2 2010-netlemmings-82d69d291f29aba4fb04872e79f21d662a6c3d9f.zip |
Déplacement de quelques fonctions graphiques faites à l'arache hier de netlem.c vers graphic.c
git-svn-id: file:///var/svn/2010-netlemmings/trunk@194 077b3477-7977-48bd-8428-443f22f7bfda
Diffstat (limited to 'src')
-rw-r--r-- | src/graphic.c | 56 | ||||
-rw-r--r-- | src/include/graphic.h | 4 | ||||
-rw-r--r-- | src/netlem.c | 59 |
3 files changed, 60 insertions, 59 deletions
diff --git a/src/graphic.c b/src/graphic.c index c12b399..c6acf4f 100644 --- a/src/graphic.c +++ b/src/graphic.c @@ -190,3 +190,59 @@ 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; + SDL_Surface *tmpSurf; + + tmpSurf=createSurface(srcRect->w, srcRect->h); + + if (tmpSurf==NULL) { + logs(LOG_ERROR, "repain(), createSurface() has failed"); + return 1; + } + objToRepaintCount=findAndZSortObjects(srcSurfs->objectsStat, srcRect, &objToRepaint); + + for(i=0;i<objToRepaintCount;++i) { + if(objToRepaint[i].zOrder>0) break; + res=paintObject(objToRepaint+i, srcRect, tmpSurf); + if ( res!=0 ) { + logs(LOG_DEBUG, "repaint(), paintObject() failed"); + } + } + + res=SDL_BlitSurface(srcSurfs->terrain, srcRect, tmpSurf, NULL); + if ( res!=0 ) { + logs2(LOG_DEBUG, "repaint(), SDL_BlitSurface()", SDL_GetError()); + } + + for(;i<objToRepaintCount;++i) { + res=paintObject(objToRepaint+i, srcRect, tmpSurf); + if ( res!=0 ) { + logs(LOG_DEBUG, "repaint(), paintObject() failed"); + } + } + + res=SDL_BlitSurface(tmpSurf, NULL, dstSurf, &dstRect); + if ( res!=0 ) { + logs2(LOG_DEBUG, "repaint(), SDL_BlitSurface()", SDL_GetError()); + } + + free(objToRepaint); + SDL_FreeSurface(tmpSurf); + return res; +} + +int findAndZSortObjects(gameGraphObjState_t *objectsStat, SDL_Rect *offsetRect, gameGraphObjState_t **objectsFound) { + //TODO + fprintf(stderr, "TODO findAndZSortObjects(%p, %p, %p)\n", (void *)objectsStat,(void *)offsetRect,(void *)objectsFound); + *objectsFound=NULL; + return 0; +} + +int paintObject(gameGraphObjState_t *obj, SDL_Rect *srcRect, SDL_Surface *dstSurf) { + //TODO + fprintf(stderr, "TODO paintObject(%p, %p, %p)\n", (void *)obj,(void *)srcRect,(void *)dstSurf); + return 0; +} diff --git a/src/include/graphic.h b/src/include/graphic.h index a4756ea..1623d79 100644 --- a/src/include/graphic.h +++ b/src/include/graphic.h @@ -19,4 +19,8 @@ SDL_Surface * loadGif(char *filePath); int pxAreaColor (SDL_Surface* s, Uint32 p , int x , int y , int mX , int mY ); int paintTerrain(gameIni_t *gIni, gameRess_t *gRess, gameGraphics_t *gGraph); +int repaint(gameGraphSurfaces_t *srcSurfs, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect dstRect); +int findAndZSortObjects(gameGraphObjState_t *objectsStat, SDL_Rect *offsetRect, gameGraphObjState_t **objectsFound); +int paintObject(gameGraphObjState_t *obj, SDL_Rect *srcRect, SDL_Surface *dstSurf); + #endif /*GRAPHIC_H*/ diff --git a/src/netlem.c b/src/netlem.c index 3d128c9..b77de1c 100644 --- a/src/netlem.c +++ b/src/netlem.c @@ -51,9 +51,6 @@ void processLocalEvents(SDL_Rect *viewport, SDL_Rect *screen, SDL_Rect *terrain) int act(tick_t *tick, int loadProgress, TCPsocket sockClient, int *dirtRectsCount, SDL_Rect **dirtRects); int updateGraphics(gameGraphics_t *gGraph); -int repaint(gameGraphSurfaces_t *srcSurfs, SDL_Rect *srcRect, SDL_Surface *dstSurf, SDL_Rect dstRect); -int findAndZSortObjects(gameGraphObjState_t *objectsStat, SDL_Rect *offsetRect, gameGraphObjState_t **objectsFound); -int paintObject(gameGraphObjState_t *obj, SDL_Rect *srcRect, SDL_Surface *dstSurf); int main(int argc, char **argv) { @@ -591,59 +588,3 @@ int updateGraphics(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; - SDL_Surface *tmpSurf; - - tmpSurf=createSurface(srcRect->w, srcRect->h); - - if (tmpSurf==NULL) { - logs(LOG_ERROR, "repain(), createSurface() has failed"); - return 1; - } - objToRepaintCount=findAndZSortObjects(srcSurfs->objectsStat, srcRect, &objToRepaint); - - for(i=0;i<objToRepaintCount;++i) { - if(objToRepaint[i].zOrder>0) break; - res=paintObject(objToRepaint+i, srcRect, tmpSurf); - if ( res!=0 ) { - logs(LOG_DEBUG, "repaint(), paintObject() failed"); - } - } - - res=SDL_BlitSurface(srcSurfs->terrain, srcRect, tmpSurf, NULL); - if ( res!=0 ) { - logs2(LOG_DEBUG, "repaint(), SDL_BlitSurface()", SDL_GetError()); - } - - for(;i<objToRepaintCount;++i) { - res=paintObject(objToRepaint+i, srcRect, tmpSurf); - if ( res!=0 ) { - logs(LOG_DEBUG, "repaint(), paintObject() failed"); - } - } - - res=SDL_BlitSurface(tmpSurf, NULL, dstSurf, &dstRect); - if ( res!=0 ) { - logs2(LOG_DEBUG, "repaint(), SDL_BlitSurface()", SDL_GetError()); - } - - free(objToRepaint); - SDL_FreeSurface(tmpSurf); - return res; -} - -int findAndZSortObjects(gameGraphObjState_t *objectsStat, SDL_Rect *offsetRect, gameGraphObjState_t **objectsFound) { - //TODO - fprintf(stderr, "TODO findAndZSortObjects(%p, %p, %p)\n", (void *)objectsStat,(void *)offsetRect,(void *)objectsFound); - *objectsFound=NULL; - return 0; -} - -int paintObject(gameGraphObjState_t *obj, SDL_Rect *srcRect, SDL_Surface *dstSurf) { - //TODO - fprintf(stderr, "TODO paintObject(%p, %p, %p)\n", (void *)obj,(void *)srcRect,(void *)dstSurf); - return 0; -} |