diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-05-28 13:57:07 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-05-28 13:57:07 (GMT) |
| commit | edc63393699ff6f1d39cee9e8912cbd44cf9c004 (patch) | |
| tree | 4b4167ed4cd6e52ae79d1a1ae17abb2a47b05db5 /src | |
| parent | 380a45a4c9ad1f38f5cbee2d75e813fd0911cfcc (diff) | |
| download | powder-edc63393699ff6f1d39cee9e8912cbd44cf9c004.zip powder-edc63393699ff6f1d39cee9e8912cbd44cf9c004.tar.gz | |
Render changes
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 65 |
1 files changed, 39 insertions, 26 deletions
@@ -1312,6 +1312,7 @@ int main(int argc, char *argv[]) int load_size, i=0, j=0; void *load_data = file_load(argv[1], &load_size); unsigned char c[3]; + char ppmfilename[256], ptifilename[256], ptismallfilename[256]; FILE *f; cmode = CM_FIRE; @@ -1327,6 +1328,10 @@ int main(int argc, char *argv[]) fire_bg = calloc(XRES*YRES, PIXELSIZE); prepare_alpha(); + + sprintf(ppmfilename, "%s.ppm", argv[2]); + sprintf(ptifilename, "%s.pti", argv[2]); + sprintf(ptismallfilename, "%s-small.pti", argv[2]); if(load_data && load_size){ int parsestate = 0; @@ -1347,34 +1352,42 @@ int main(int argc, char *argv[]) info_box(vid_buf, "Save file invalid or from newer version"); } - if(!strncmp(argv[3], "pti", 3)){ - char * datares = NULL, *scaled_buf; - int res = 0, sw, sh; - scaled_buf = rescale_img(vid_buf, XRES, YRES, &sw, &sh, 4); - datares = ptif_pack(scaled_buf, sw, sh, &res); - if(datares!=NULL){ - f=fopen(argv[2], "wb"); - fwrite(datares, res, 1, f); - fclose(f); - free(datares); - } - free(scaled_buf); - } else { - f=fopen(argv[2],"wb"); - fprintf(f,"P6\n%d %d\n255\n",XRES,YRES); - for (j=0; j<YRES; j++) - { - for (i=0; i<XRES; i++) - { - c[0] = PIXR(vid_buf[i]); - c[1] = PIXG(vid_buf[i]); - c[2] = PIXB(vid_buf[i]); - fwrite(c,3,1,f); - } - vid_buf+=XRES+BARSIZE; - } + //Save PTi images + char * datares = NULL, *scaled_buf; + int res = 0, sw, sh; + datares = ptif_pack(vid_buf, XRES, YRES, &res); + if(datares!=NULL){ + f=fopen(ptifilename, "wb"); + fwrite(datares, res, 1, f); + fclose(f); + free(datares); + datares = NULL; + } + scaled_buf = rescale_img(vid_buf, XRES, YRES, &sw, &sh, 4); + datares = ptif_pack(scaled_buf, sw, sh, &res); + if(datares!=NULL){ + f=fopen(ptismallfilename, "wb"); + fwrite(datares, res, 1, f); fclose(f); + free(datares); + datares = NULL; + } + free(scaled_buf); + //Save PPM image + f=fopen(ppmfilename, "wb"); + fprintf(f,"P6\n%d %d\n255\n",XRES,YRES); + for (j=0; j<YRES; j++) + { + for (i=0; i<XRES; i++) + { + c[0] = PIXR(vid_buf[i]); + c[1] = PIXG(vid_buf[i]); + c[2] = PIXB(vid_buf[i]); + fwrite(c,3,1,f); + } + vid_buf+=XRES+BARSIZE; } + fclose(f); return 1; } |
