summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon 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)
commitedc63393699ff6f1d39cee9e8912cbd44cf9c004 (patch)
tree4b4167ed4cd6e52ae79d1a1ae17abb2a47b05db5 /src
parent380a45a4c9ad1f38f5cbee2d75e813fd0911cfcc (diff)
downloadpowder-edc63393699ff6f1d39cee9e8912cbd44cf9c004.zip
powder-edc63393699ff6f1d39cee9e8912cbd44cf9c004.tar.gz
Render changes
Diffstat (limited to 'src')
-rw-r--r--src/main.c65
1 files changed, 39 insertions, 26 deletions
diff --git a/src/main.c b/src/main.c
index de2fc54..94d5810 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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;
}