From b6250b412dfdfe65540e00e658fa0937d7788765 Mon Sep 17 00:00:00 2001 From: nhmall Date: Thu, 28 Oct 2021 16:08:59 -0400 Subject: [PATCH] fix error checking during tile processing noticed following a patch last night --- win/share/monsters.txt | 12 ++++++------ win/share/other.txt | 22 +++++++++++----------- win/share/tilemap.c | 8 +++++--- win/share/tiletext.c | 19 +++++++++++++------ 4 files changed, 35 insertions(+), 26 deletions(-) diff --git a/win/share/monsters.txt b/win/share/monsters.txt index a23a8c86d..deeb7acbd 100644 --- a/win/share/monsters.txt +++ b/win/share/monsters.txt @@ -10439,7 +10439,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 548 (elf-leader,male) +# tile 548 (elf-noble,male) { ................ ................ @@ -10458,7 +10458,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 549 (elf-leader,female) +# tile 549 (elf-noble,female) { ................ ................ @@ -10705,7 +10705,7 @@ Z = (195, 195, 195) ....LELLLLELAA.. ................ } -# tile 562 (aligned priest,male) +# tile 562 (aligned cleric,male) { ................ INI............. @@ -10724,7 +10724,7 @@ Z = (195, 195, 195) .JACCCJJCCCAA... ................ } -# tile 563 (aligned priest,female) +# tile 563 (aligned cleric,female) { ................ INI............. @@ -10743,7 +10743,7 @@ Z = (195, 195, 195) .JACCCJJCCCAA... ................ } -# tile 564 (high priest,male) +# tile 564 (high cleric,male) { .INI............ IIIII.KCCK...... @@ -10762,7 +10762,7 @@ Z = (195, 195, 195) ..HACCCJJCCCAA.. ................ } -# tile 565 (high priest,female) +# tile 565 (high cleric,female) { .INI............ IIIII.KCCK...... diff --git a/win/share/other.txt b/win/share/other.txt index e8e2b78ba..d23557e85 100644 --- a/win/share/other.txt +++ b/win/share/other.txt @@ -46,7 +46,7 @@ Z = (195, 195, 195) PPAPPPPPPJPPPPPP PPPPPPPPPPPPPPPP } -# tile 1 (vertical wall) +# tile 1 (main walls vertical) { ANNOA1PPPPP1NNOA AOOOA1P1PP11OOOA @@ -65,7 +65,7 @@ Z = (195, 195, 195) A111A11PPPP1111A AOPPA11PPPP1OP1A } -# tile 2 (horizontal wall) +# tile 2 (main walls horizontal) { AAANOOAAAAANOOAA OOONOOA1OOONOOA1 @@ -84,7 +84,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 3 (top left corner wall) +# tile 3 (main walls tlcorn) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -103,7 +103,7 @@ Z = (195, 195, 195) A111A11PPPP1111A AOPPA11PPPP1OP1A } -# tile 4 (top right corner wall) +# tile 4 (main walls trcorn) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -122,7 +122,7 @@ Z = (195, 195, 195) A111A11PPPP1111A AOPPA11PPPP1OP1A } -# tile 5 (bottom left corner wall) +# tile 5 (main walls blcorn) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -141,7 +141,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 6 (bottom right corner wall) +# tile 6 (main walls brcorn) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -160,7 +160,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 7 (cross wall) +# tile 7 (main walls cross wall) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -179,7 +179,7 @@ Z = (195, 195, 195) A111A11PPPP1111A AOPPA11PPPP1OP1A } -# tile 8 (tuwall) +# tile 8 (main walls tuwall) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -198,7 +198,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 9 (tdwall) +# tile 9 (main walls tdwall) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -217,7 +217,7 @@ Z = (195, 195, 195) A111A11PPPP1111A AOPPA11PPPP1OP1A } -# tile 10 (tlwall) +# tile 10 (main walls tlwall) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 @@ -236,7 +236,7 @@ Z = (195, 195, 195) A111A11PPPP1111A AOPPA11PPPP1OP1A } -# tile 11 (trwall) +# tile 11 (main walls trwall) { AAANNNNOOOOOOAAA NNNNAA11PPPPO111 diff --git a/win/share/tilemap.c b/win/share/tilemap.c index 84935b086..77aa3f147 100644 --- a/win/share/tilemap.c +++ b/win/share/tilemap.c @@ -215,9 +215,11 @@ tilename(int set, const int file_entry, int gend UNUSED) ++condnum) { if (conditionals[condnum].sequence == MON_GLYPH && conditionals[condnum].predecessor == i) { - tilenum += 2; - if (tilenum == file_entry) - return conditionals[condnum].name; + for (k = 0; k < 2; k++) { /* male and female */ + tilenum++; + if (tilenum == file_entry) + return conditionals[condnum].name; + } } } tilenum++; diff --git a/win/share/tiletext.c b/win/share/tiletext.c index c589d8e8d..c7d93f8d4 100644 --- a/win/share/tiletext.c +++ b/win/share/tiletext.c @@ -110,7 +110,7 @@ read_txttile(FILE *txtfile, pixel (*pixels)[TILE_X]) int ph, i, j, k, reslt; char buf[BUFSZ], ttype[BUFSZ], gend[BUFSZ]; const char *p; - char c[2]; + char c[2], *q; static int gidx = 0; gend[0] = '\0'; @@ -133,11 +133,18 @@ read_txttile(FILE *txtfile, pixel (*pixels)[TILE_X]) * change when tiles are added */ p = tilename(tile_set, tile_set_indx, gidx); - if (p && strcmp(p, buf) - && !acceptable_tilename(tile_set, tile_set_indx, buf, p)) { - Fprintf(stderr, "warning: for tile %d (numbered %d) of %s,\n", - tile_set_indx, i, text_sets[tile_set]); - Fprintf(stderr, "\tfound '%s' while expecting '%s'\n", buf, p); + if (p && (q = strstr(p, " {")) != 0) { + *q = '\0'; + } + if (p && strcmp(p, buf)) { + boolean other_mismatch = + (tile_set == OTHER_SET + && !acceptable_tilename(tile_set, tile_set_indx, buf, p)); + if (tile_set != OTHER_SET || other_mismatch) { + Fprintf(stderr, "warning: for tile %d (numbered %d) of %s,\n", + tile_set_indx, i, text_sets[tile_set]); + Fprintf(stderr, "\tfound '%s' while expecting '%s'\n", buf, p); + } } tile_set_indx++;