From 1b549d860c6ffa4442ab98dd7c5e0c2bf1354288 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 10 Apr 2024 01:44:01 -0400 Subject: [PATCH] keen: update map to be more rectangular also work on actual mars map --- games/keen/maps/Makefile | 11 ++++++++++- games/keen/maps/level1_map.png | Bin 7829 -> 7449 bytes games/keen/maps/loadpng.c | 11 ++++------- games/keen/maps/mars_new.png | Bin 0 -> 10848 bytes games/keen/maps/png2map.c | 27 ++++++++++++++++----------- 5 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 games/keen/maps/mars_new.png diff --git a/games/keen/maps/Makefile b/games/keen/maps/Makefile index 3f82e710..f3d27f2c 100644 --- a/games/keen/maps/Makefile +++ b/games/keen/maps/Makefile @@ -5,7 +5,7 @@ ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f PNG2GR = ../../../utils/gr-utils/png2gr -all: level1_map.zx02 png2map mars_map.gr.zx02 +all: level1_map.zx02 png2map mars_map.gr.zx02 mars_new.zx02 ### @@ -16,6 +16,15 @@ level1_map.inc: level1_map.png png2map ./png2map level1_map.png level1_map.inc +### + +mars_new.zx02: mars_new.inc + $(ZX02) mars_new.inc mars_new.zx02 + +mars_new.inc: mars_new.png png2map + ./png2map mars_new.png mars_new.inc + + ### mars_map.gr.zx02: mars_map.gr diff --git a/games/keen/maps/level1_map.png b/games/keen/maps/level1_map.png index 85c46907047fbc1df7e136991d2ec8b6a4cd976b..2b9b96a3c7347b8da800bbb2f629a148b19b431b 100644 GIT binary patch delta 3006 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 delta 3541 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 #include @@ -46,7 +43,7 @@ static int convert_color(int color, char *filename) { return c; } -/* expects a PNG where the xsize is either 1280x200 */ +/* expects a PNG that is 660x336 */ int loadpng(char *filename, unsigned char **image_ptr, int *xsize, int *ysize, int png_type) { @@ -102,8 +99,8 @@ int loadpng(char *filename, unsigned char **image_ptr, int *xsize, int *ysize, width = png_get_image_width(png_ptr, info_ptr); height = png_get_image_height(png_ptr, info_ptr); - if (width==1280) { - *xsize=1280; + if (width==660) { + *xsize=660; xadd=1; } else { diff --git a/games/keen/maps/mars_new.png b/games/keen/maps/mars_new.png new file mode 100644 index 0000000000000000000000000000000000000000..c9281cd3aa5daf80b4542656c9efbcf43971b2f8 GIT binary patch literal 10848 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 literal 0 HcmV?d00001 diff --git a/games/keen/maps/png2map.c b/games/keen/maps/png2map.c index 37ff27ba..2ccd04a7 100644 --- a/games/keen/maps/png2map.c +++ b/games/keen/maps/png2map.c @@ -9,15 +9,14 @@ #include "loadpng.h" +/* converts a png of map to format for our keen engine */ -/* converts a png of map to format by our duke engine */ - -/* 1280x200 image */ +/* 660x336 image */ /* 256 sprites of size 2x4 in a 16x16 grid at 8,4 */ static unsigned char tiles[256][2][4]; -static unsigned char tilemap[256][40]; +static unsigned char tilemap[128][80]; static unsigned char temp_tile[2][4]; static int ascii_output=0; @@ -30,6 +29,7 @@ int main(int argc, char **argv) { unsigned char *image; int xsize,ysize; FILE *outfile; + int unknown_tiles=0; if (argc<3) { fprintf(stderr,"Usage:\t%s INFILE OUTFILE\n\n",argv[0]); @@ -112,8 +112,10 @@ int main(int argc, char **argv) { /* starts at 80,12 */ - for(x=0;x<256;x++) { - for(y=0;y<40;y++) { + /* 128 * 80 */ + + for(x=0;x<128;x++) { + for(y=0;y<80;y++) { /* get temp tile */ temp_tile[0][0]=image[((y*4+12)*xsize)+80+(x*4)]; temp_tile[1][0]=image[((y*4+12)*xsize)+80+(x*4)+2]; @@ -157,6 +159,7 @@ int main(int argc, char **argv) { if (found_tile==-1) { printf("Error! Unknown tile at %d,%d\n", 80+(x*4),12+(y*4)); + unknown_tiles++; } } } @@ -164,11 +167,11 @@ int main(int argc, char **argv) { if (ascii_output) { fprintf(outfile,"tilemap:\n"); - for(j=0;j<40;j++) { + for(j=0;j<80;j++) { fprintf(outfile,"\t.byte "); - for(i=0;i<256;i++) { + for(i=0;i<128;i++) { fprintf(outfile,"$%02x",tilemap[i][j]); - if (i!=255) fprintf(outfile,","); + if (i!=127) fprintf(outfile,","); } fprintf(outfile,"\n"); } @@ -176,13 +179,15 @@ int main(int argc, char **argv) { fprintf(outfile,"\n"); } else { - for(j=0;j<40;j++) { - for(i=0;i<256;i++) { + for(j=0;j<80;j++) { + for(i=0;i<128;i++) { fputc(tilemap[i][j],outfile); } } } fclose(outfile); + fprintf(stderr,"%d Unknown tiles\n",unknown_tiles); + return 0; }