diff options
Diffstat (limited to 'src/simulation/SaveRenderer.cpp')
| -rw-r--r-- | src/simulation/SaveRenderer.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/simulation/SaveRenderer.cpp b/src/simulation/SaveRenderer.cpp index 5ea99e6..3d0e7c7 100644 --- a/src/simulation/SaveRenderer.cpp +++ b/src/simulation/SaveRenderer.cpp @@ -19,9 +19,7 @@ SaveRenderer::SaveRenderer(){ Thumbnail * SaveRenderer::Render(GameSave * save) { - Thumbnail * tempThumb = NULL; int width, height; - #ifdef OGLR width = save->blockWidth*CELL; height = save->blockHeight*CELL; @@ -42,23 +40,21 @@ Thumbnail * SaveRenderer::Render(GameSave * save) g->Clear(); sim->clear_sim(); - if(sim->Load(save)) - goto finish; - - ren->render_parts(); - - dst = pData = (pixel *)malloc(PIXELSIZE * ((width*CELL)*(height*CELL))); - for(int i = 0; i < height*CELL; i++) + if(!sim->Load(save)) { - memcpy(dst, src, (width*CELL)*PIXELSIZE); - dst+=(width*CELL);///PIXELSIZE; - src+=XRES+BARSIZE; - } - - tempThumb = new Thumbnail(0, 0, pData, ui::Point(width*CELL, height*CELL)); + ren->render_parts(); -finish: + pData = (pixel *)malloc(PIXELSIZE * ((width*CELL)*(height*CELL))); + dst = pData; + for(int i = 0; i < height*CELL; i++) + { + memcpy(dst, src, (width*CELL)*PIXELSIZE); + dst+=(width*CELL);///PIXELSIZE; + src+=XRES+BARSIZE; + } + tempThumb = new Thumbnail(0, 0, pData, ui::Point(width*CELL, height*CELL)); + } if(pData) free(pData); return tempThumb; |
