src/screenshot.cpp
branchNewGRF_ports
changeset 6871 5a9dc001e1ad
parent 6720 35756db7e577
child 6872 1c4a4a609f85
equal deleted inserted replaced
6870:ca3fd1fbe311 6871:5a9dc001e1ad
    82 
    82 
    83 	f = fopen(name, "wb");
    83 	f = fopen(name, "wb");
    84 	if (f == NULL) return false;
    84 	if (f == NULL) return false;
    85 
    85 
    86 	/* each scanline must be aligned on a 32bit boundary */
    86 	/* each scanline must be aligned on a 32bit boundary */
    87 	padw = ALIGN(w, 4);
    87 	padw = Align(w, 4);
    88 
    88 
    89 	if (pixelformat == 8) pal_size = sizeof(RgbQuad) * 256;
    89 	if (pixelformat == 8) pal_size = sizeof(RgbQuad) * 256;
    90 
    90 
    91 	/* setup the file header */
    91 	/* setup the file header */
    92 	bfh.type = TO_LE16('MB');
    92 	bfh.type = TO_LE16('MB');
   121 	if (fwrite(&bfh, sizeof(bfh), 1, f) != 1) return false;
   121 	if (fwrite(&bfh, sizeof(bfh), 1, f) != 1) return false;
   122 	if (fwrite(&bih, sizeof(bih), 1, f) != 1) return false;
   122 	if (fwrite(&bih, sizeof(bih), 1, f) != 1) return false;
   123 	if (pixelformat == 8) if (fwrite(rq, sizeof(rq), 1, f) != 1) return false;
   123 	if (pixelformat == 8) if (fwrite(rq, sizeof(rq), 1, f) != 1) return false;
   124 
   124 
   125 	/* use by default 64k temp memory */
   125 	/* use by default 64k temp memory */
   126 	maxlines = clamp(65536 / padw, 16, 128);
   126 	maxlines = Clamp(65536 / padw, 16, 128);
   127 
   127 
   128 	/* now generate the bitmap bits */
   128 	/* now generate the bitmap bits */
   129 	void *buff = MallocT<uint8>(padw * maxlines * bpp); // by default generate 128 lines at a time.
   129 	void *buff = MallocT<uint8>(padw * maxlines * bpp); // by default generate 128 lines at a time.
   130 	if (buff == NULL) {
   130 	if (buff == NULL) {
   131 		fclose(f);
   131 		fclose(f);
   249 		png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE);
   249 		png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE);
   250 #endif
   250 #endif
   251 	}
   251 	}
   252 
   252 
   253 	/* use by default 64k temp memory */
   253 	/* use by default 64k temp memory */
   254 	maxlines = clamp(65536 / w, 16, 128);
   254 	maxlines = Clamp(65536 / w, 16, 128);
   255 
   255 
   256 	/* now generate the bitmap bits */
   256 	/* now generate the bitmap bits */
   257 	void *buff = MallocT<uint8>(w * maxlines * bpp); // by default generate 128 lines at a time.
   257 	void *buff = MallocT<uint8>(w * maxlines * bpp); // by default generate 128 lines at a time.
   258 	if (buff == NULL) {
   258 	if (buff == NULL) {
   259 		png_destroy_write_struct(&png_ptr, &info_ptr);
   259 		png_destroy_write_struct(&png_ptr, &info_ptr);
   349 		fclose(f);
   349 		fclose(f);
   350 		return false;
   350 		return false;
   351 	}
   351 	}
   352 
   352 
   353 	/* use by default 64k temp memory */
   353 	/* use by default 64k temp memory */
   354 	maxlines = clamp(65536 / w, 16, 128);
   354 	maxlines = Clamp(65536 / w, 16, 128);
   355 
   355 
   356 	/* now generate the bitmap bits */
   356 	/* now generate the bitmap bits */
   357 	uint8 *buff = MallocT<uint8>(w * maxlines); // by default generate 128 lines at a time.
   357 	uint8 *buff = MallocT<uint8>(w * maxlines); // by default generate 128 lines at a time.
   358 	if (buff == NULL) {
   358 	if (buff == NULL) {
   359 		fclose(f);
   359 		fclose(f);