From 27a517e4e9506a138e4240094ab04856dbc4e3f3 Mon Sep 17 00:00:00 2001
From: Robin Krens <robin@robinkrens.nl>
Date: Sun, 12 Jun 2022 16:00:37 +0200
Subject: [PATCH] tools: output stream for .gfx 4bpp file

---
 tools/bmp2tiles/bmp2tiles.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tools/bmp2tiles/bmp2tiles.c b/tools/bmp2tiles/bmp2tiles.c
index 42a8805..25ea7d5 100644
--- a/tools/bmp2tiles/bmp2tiles.c
+++ b/tools/bmp2tiles/bmp2tiles.c
@@ -56,7 +56,9 @@ int main(void)
 {
 	SDL_Surface * rawbmp;
 	SDL_PixelFormat * fmt;
+	FILE * ostream;
 	char filename[] = "test.bmp";
+	char outname[] = "test.gfx";
 	rawbmp = SDL_LoadBMP(filename);
 	
 	if (!rawbmp) {
@@ -71,14 +73,21 @@ int main(void)
 	SDL_UnlockSurface(rawbmp);
 
 	unsigned char *tile_buf = malloc(sizeof(unsigned char) * TILE_SZ);
-
-	generate_4bpp_tile_packed(tile_buf, rawbmp->userdata, 64);
 	
 	/* if (rawbmp->format->BitsPerPixel != 24) {
 		fprintf(stderr, "format %d not supported\n", rawbmp->format->BitsPerPixel);
 		exit(EXIT_FAILURE);
 	} */
 
+	ostream = fopen(outname, "w");
+	if (!ostream) {
+		fprintf(stderr, "can not open file for writing!\n");
+		exit(EXIT_FAILURE);
+	}
+
+	generate_4bpp_tile_packed(tile_buf, rawbmp->userdata, 64);
+	int ret = fwrite(tile_buf, sizeof(unsigned char), 32, ostream);	
+	printf("written: %d\n", ret);
 
 	SDL_FreeSurface(rawbmp);
 
-- 
2.7.4