Added hilarious -1 tag support for the iteration macros.

This commit is contained in:
Nev3r 2020-04-14 18:53:05 +02:00
parent ab3eae4855
commit dd50ba2244

View file

@ -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_C size_t kkkk;
#define TAG_ITER(group, tag, id)\ #define TAG_ITER(group, grouptotal, tag, id)\
if (group[tag])\ if (group[tag] || tag == -1) for(\
for(id = group[tag]->elements[kkkk = 0];\ tag != -1 ? (id = group[tag]->elements[kkkk = 0]) : (id = 0);\
kkkk < group[tag]->count;\ tag != -1 ? (kkkk < group[tag]->count) : (id < grouptotal);\
id = group[tag]->elements[++kkkk]) tag != -1 ? (id = group[tag]->elements[++kkkk]) : (id++))
#define TAG_ITER_SECTORS(tag, id) TAG_ITER(tags_sectors, 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, 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, tag, id) #define TAG_ITER_THINGS(tag, id) TAG_ITER(tags_mapthings, nummapthings, tag, id)