- 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:
parent
5d819036b3
commit
203f88ce6e
6 changed files with 23 additions and 46 deletions
|
|
@ -70,6 +70,7 @@
|
|||
#include "m_bbox.h"
|
||||
#include "r_data/r_translate.h"
|
||||
#include "p_trace.h"
|
||||
#include "p_setup.h"
|
||||
#include "gstrings.h"
|
||||
|
||||
|
||||
|
|
@ -4506,7 +4507,6 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Weave)
|
|||
//===========================================================================
|
||||
|
||||
|
||||
void P_TranslateLineDef (line_t *ld, maplinedef_t *mld);
|
||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_LineEffect)
|
||||
{
|
||||
ACTION_PARAM_START(2);
|
||||
|
|
@ -4520,7 +4520,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_LineEffect)
|
|||
if ((oldjunk.special = special)) // Linedef type
|
||||
{
|
||||
oldjunk.tag = tag; // Sector tag for linedef
|
||||
P_TranslateLineDef(&junk, &oldjunk); // Turn into native type
|
||||
P_TranslateLineDef(&junk, &oldjunk, false); // Turn into native type
|
||||
res = !!P_ExecuteSpecial(junk.special, NULL, self, false, junk.args[0],
|
||||
junk.args[1], junk.args[2], junk.args[3], junk.args[4]);
|
||||
if (res && !(junk.flags & ML_REPEAT_SPECIAL)) // If only once,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue