summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/rltiles/tool/tile_list_processor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/rltiles/tool/tile_list_processor.cc')
-rw-r--r--crawl-ref/source/rltiles/tool/tile_list_processor.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/crawl-ref/source/rltiles/tool/tile_list_processor.cc b/crawl-ref/source/rltiles/tool/tile_list_processor.cc
index 9b3ede1a70..6d764dd1cf 100644
--- a/crawl-ref/source/rltiles/tool/tile_list_processor.cc
+++ b/crawl-ref/source/rltiles/tool/tile_list_processor.cc
@@ -612,6 +612,8 @@ bool tile_list_processor::write_data()
lcname.c_str());
fprintf(fp, "bool tile_%s_index(const char *str, unsigned int &idx);\n",
lcname.c_str());
+ fprintf(fp, "bool tile_%s_equal(unsigned int tile, unsigned int idx);\n",
+ lcname.c_str());
if (m_categories.size() > 0)
{
@@ -791,13 +793,20 @@ bool tile_list_processor::write_data()
" {\n"
" idx = %s_map_pairs[half].second;\n"
" return true;\n"
- " }\n"
- "\n"
+ " }\n" "\n"
" } while (first <= last);\n"
"\n"
" return false;\n"
"}\n",
lcname.c_str(), lcname.c_str(), lcname.c_str(), lcname.c_str(), lcname.c_str());
+
+ fprintf(fp,
+ "bool tile_%s_equal(unsigned int tile, unsigned int idx)\n"
+ "{\n"
+ " assert(tile >= %s && tile < %s);\n"
+ " return (idx >= tile && idx < tile + tile_%s_count(tile));\n"
+ "}\n\n",
+ lcname.c_str(), m_start_value.c_str(), max.c_str(), lcname.c_str());
}
delete[] part_min;