From 8495b5989046832e4458735ed9876d11073c350a Mon Sep 17 00:00:00 2001 From: Nev3r Date: Tue, 14 Apr 2020 18:53:05 +0200 Subject: [PATCH] Added hilarious -1 tag support for the iteration macros. --- src/taglist.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/taglist.h b/src/taglist.h index 2a2dbfcb3..5dab7315f 100644 --- a/src/taglist.h +++ b/src/taglist.h @@ -31,12 +31,12 @@ void Taglist_AddToMapthings (const size_t tag, const size_t itemid); #define TAG_ITER_C size_t kkkk; -#define TAG_ITER(group, tag, id)\ -if (group[tag])\ - for(id = group[tag]->elements[kkkk = 0];\ - kkkk < group[tag]->count;\ - id = group[tag]->elements[++kkkk]) +#define TAG_ITER(group, grouptotal, tag, id)\ +if (group[tag] || tag == -1) for(\ + tag != -1 ? (id = group[tag]->elements[kkkk = 0]) : (id = 0);\ + tag != -1 ? (kkkk < group[tag]->count) : (id < grouptotal);\ + tag != -1 ? (id = group[tag]->elements[++kkkk]) : (id++)) -#define TAG_ITER_SECTORS(tag, id) TAG_ITER(tags_sectors, tag, id) -#define TAG_ITER_LINES(tag, id) TAG_ITER(tags_lines, tag, id) -#define TAG_ITER_THINGS(tag, id) TAG_ITER(tags_mapthings, tag, id) +#define TAG_ITER_SECTORS(tag, id) TAG_ITER(tags_sectors, numsectors, tag, id) +#define TAG_ITER_LINES(tag, id) TAG_ITER(tags_lines, numlines, tag, id) +#define TAG_ITER_THINGS(tag, id) TAG_ITER(tags_mapthings, nummapthings, tag, id)