- 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
|
|
@ -96,7 +96,6 @@ CVAR (Bool, gennodes, false, CVAR_SERVERINFO|CVAR_GLOBALCONFIG);
|
|||
CVAR (Bool, genglnodes, false, CVAR_SERVERINFO);
|
||||
CVAR (Bool, showloadtimes, false, 0);
|
||||
|
||||
static void P_InitTagLists ();
|
||||
static void P_Shutdown ();
|
||||
|
||||
bool P_IsBuildMap(MapData *map);
|
||||
|
|
@ -2146,11 +2145,10 @@ void P_LoadLineDefs (MapData * map)
|
|||
|
||||
// [RH] Translate old linedef special and flags to be
|
||||
// compatible with the new format.
|
||||
P_TranslateLineDef (ld, mld);
|
||||
P_TranslateLineDef (ld, mld, true);
|
||||
|
||||
ld->v1 = &vertexes[LittleShort(mld->v1)];
|
||||
ld->v2 = &vertexes[LittleShort(mld->v2)];
|
||||
//ld->id = -1; ID has been assigned in P_TranslateLineDef
|
||||
|
||||
P_SetSideNum (&ld->sidedef[0], LittleShort(mld->sidenum[0]));
|
||||
P_SetSideNum (&ld->sidedef[1], LittleShort(mld->sidenum[1]));
|
||||
|
|
@ -3209,7 +3207,9 @@ static void P_GroupLines (bool buildmap)
|
|||
|
||||
// [RH] Moved this here
|
||||
times[4].Clock();
|
||||
P_InitTagLists(); // killough 1/30/98: Create xref tables for tags
|
||||
// killough 1/30/98: Create xref tables for tags
|
||||
sector_t::HashTags();
|
||||
line_t::HashIds();
|
||||
times[4].Unclock();
|
||||
|
||||
times[5].Clock();
|
||||
|
|
@ -3306,13 +3306,6 @@ void P_LoadBehavior (MapData * map)
|
|||
}
|
||||
}
|
||||
|
||||
// Hash the sector tags across the sectors and linedefs.
|
||||
static void P_InitTagLists ()
|
||||
{
|
||||
sector_t::HashTags();
|
||||
line_t::HashIds();
|
||||
}
|
||||
|
||||
void P_GetPolySpots (MapData * map, TArray<FNodeBuilder::FPolyStart> &spots, TArray<FNodeBuilder::FPolyStart> &anchors)
|
||||
{
|
||||
if (map->HasBehavior)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue