Changeset - r13422:a6fe48407822
[Not reviewed]
master
0 2 0
smatz - 15 years ago 2009-11-01 20:40:36
smatz@openttd.org
(svn r17941) -Fix: close BMP file when making screenshot fails
2 files changed with 10 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/console_cmds.cpp
Show inline comments
 
@@ -1219,7 +1219,7 @@ DEF_CONSOLE_CMD(ConScreenShot)
 
{
 
	if (argc == 0) {
 
		IConsoleHelp("Create a screenshot of the game. Usage: 'screenshot [big | no_con] [file name]'");
 
		IConsoleHelp("'big' makes a screenshot of the whole map, 'no_con' hides the console to create"
 
		IConsoleHelp("'big' makes a screenshot of the whole map, 'no_con' hides the console to create "
 
				"the screenshot. Screenshots of whole map are always drawn without console");
 
		return true;
 
	}
src/screenshot.cpp
Show inline comments
 
@@ -125,9 +125,14 @@ static bool MakeBmpImage(char *name, Scr
 
	}
 

	
 
	/* write file header and info header and palette */
 
	if (fwrite(&bfh, sizeof(bfh), 1, f) != 1) return false;
 
	if (fwrite(&bih, sizeof(bih), 1, f) != 1) return false;
 
	if (pixelformat == 8) if (fwrite(rq, sizeof(rq), 1, f) != 1) return false;
 
	if (fwrite(&bfh, sizeof(bfh), 1, f) != 1 || fwrite(&bih, sizeof(bih), 1, f) != 1) {
 
		fclose(f);
 
		return false;
 
	}
 
	if (pixelformat == 8 && fwrite(rq, sizeof(rq), 1, f) != 1) {
 
		fclose(f);
 
		return false;
 
	}
 

	
 
	/* use by default 64k temp memory */
 
	maxlines = Clamp(65536 / padw, 16, 128);
 
@@ -151,7 +156,7 @@ static bool MakeBmpImage(char *name, Scr
 
			uint32 *buff32 = (uint32 *)buff;
 
			for (i = 0; i < padw * n; i++) buff32[i] = BSWAP32(buff32[i]);
 
		}
 
#endif
 
#endif /* TTD_ENDIAN == TTD_BIG_ENDIAN */
 

	
 
		/* write each line */
 
		while (n)
0 comments (0 inline, 0 general)