mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-14 17:01:07 +00:00
Add additional multitagging functionality
This commit is contained in:
parent
75938e2dfa
commit
8d8f62baef
2 changed files with 43 additions and 4 deletions
|
@ -640,22 +640,36 @@ linedeftypes
|
|||
prefix = "(63)";
|
||||
}
|
||||
|
||||
96
|
||||
{
|
||||
title = "Apply Tag to Tagged Sectors";
|
||||
prefix = "(96)";
|
||||
flags8192text = "[13] Use Front Side Offsets";
|
||||
flags32768text = "[15] Use Back Side Offsets";
|
||||
}
|
||||
|
||||
97
|
||||
{
|
||||
title = "Apply Tag to Front Sector";
|
||||
prefix = "(97)";
|
||||
flags8192text = "[13] Use Front Side Offsets";
|
||||
flags32768text = "[15] Use Back Side Offsets";
|
||||
}
|
||||
|
||||
98
|
||||
{
|
||||
title = "Apply Tag to Back Sector";
|
||||
prefix = "(98)";
|
||||
flags8192text = "[13] Use Front Side Offsets";
|
||||
flags32768text = "[15] Use Back Side Offsets";
|
||||
}
|
||||
|
||||
99
|
||||
{
|
||||
title = "Apply Tag to Front and Back Sectors";
|
||||
prefix = "(99)";
|
||||
flags8192text = "[13] Use Front Side Offsets";
|
||||
flags32768text = "[15] Use Back Side Offsets";
|
||||
}
|
||||
|
||||
540
|
||||
|
|
|
@ -2952,19 +2952,44 @@ static void P_LinkMapData(void)
|
|||
|
||||
// For maps in binary format, add multi-tags from linedef specials. This must be done
|
||||
// before any linedef specials have been processed.
|
||||
static void P_AddBinaryMapTagsFromLine(sector_t *sector, line_t *line)
|
||||
{
|
||||
Tag_Add(§or->tags, Tag_FGet(&line->tags));
|
||||
if (line->flags & ML_EFFECT6) {
|
||||
if (sides[line->sidenum[0]].textureoffset)
|
||||
Tag_Add(§or->tags, (INT32)sides[line->sidenum[0]].textureoffset);
|
||||
if (sides[line->sidenum[0]].rowoffset)
|
||||
Tag_Add(§or->tags, (INT32)sides[line->sidenum[0]].rowoffset);
|
||||
}
|
||||
if (line->flags & ML_TFERLINE) {
|
||||
if (sides[line->sidenum[1]].textureoffset)
|
||||
Tag_Add(§or->tags, (INT32)sides[line->sidenum[1]].textureoffset);
|
||||
if (sides[line->sidenum[1]].rowoffset)
|
||||
Tag_Add(§or->tags, (INT32)sides[line->sidenum[1]].rowoffset);
|
||||
}
|
||||
}
|
||||
|
||||
static void P_AddBinaryMapTags(void)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < numlines; i++)
|
||||
{
|
||||
// 96: Apply Tag to Tagged Sectors
|
||||
// 97: Apply Tag to Front Sector
|
||||
// 98: Apply Tag to Back Sector
|
||||
// 99: Apply Tag to Front and Back Sectors
|
||||
if (lines[i].special == 97 || lines[i].special == 99)
|
||||
Tag_Add(&lines[i].frontsector->tags, Tag_FGet(&lines[i].tags));
|
||||
if (lines[i].special == 98 || lines[i].special == 99)
|
||||
Tag_Add(&lines[i].backsector->tags, Tag_FGet(&lines[i].tags));
|
||||
if (lines[i].special == 96) {
|
||||
mtag_t tag = Tag_FGet(&lines[i].frontsector->tags);
|
||||
INT32 s;
|
||||
TAG_ITER_DECLARECOUNTER(0);
|
||||
TAG_ITER_SECTORS(0, tag, s)
|
||||
P_AddBinaryMapTagsFromLine(§ors[s], &lines[i]);
|
||||
} else if (lines[i].special == 97 || lines[i].special == 99) {
|
||||
P_AddBinaryMapTagsFromLine(lines[i].frontsector, &lines[i]);
|
||||
} else if (lines[i].special == 98 || lines[i].special == 99) {
|
||||
P_AddBinaryMapTagsFromLine(lines[i].backsector, &lines[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue