- some sanitizing of sector tag/line id management:

* make setting the line ID with P_TranslateLineDef explicit because there's one FraggleScript function that needs to work around the changes caused by this. There's also some functions setting only a temporary linedef. These would inevitably cause problems if the underlying data gets changed.
* remove FS function 'ChangeTag'. Fortunately this was just some long forgotten test stuff that can be removed without affecting any maps, but the feature would cause some serious problems in a more complex system.

With these changes it is guaranteed that after map setup the tag/ids won't change anymore.
This commit is contained in:
Christoph Oelckers 2015-04-15 20:10:27 +02:00
commit 203f88ce6e
6 changed files with 23 additions and 46 deletions

View file

@ -754,7 +754,7 @@ public:
mld.flags = 0;
mld.special = th->special;
mld.tag = th->args[0];
P_TranslateLineDef(&ld, &mld);
P_TranslateLineDef(&ld, &mld, true);
th->special = ld.special;
memcpy(th->args, ld.args, sizeof (ld.args));
}
@ -1068,7 +1068,7 @@ public:
memset(&mld, 0, sizeof(mld));
mld.special = ld->special;
mld.tag = ld->GetMainId();
P_TranslateLineDef(ld, &mld);
P_TranslateLineDef(ld, &mld, false);
ld->flags = saved | (ld->flags&(ML_MONSTERSCANACTIVATE|ML_REPEAT_SPECIAL|ML_FIRSTSIDEONLY));
}
if (passuse && (ld->activation & SPAC_Use))