mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
- recalculate the line deltas if a nodebuild is needed
One potential cause is moving around vertices in which case these do not match anymore
This commit is contained in:
parent
8872125f96
commit
f22121a9df
1 changed files with 6 additions and 1 deletions
|
@ -3105,6 +3105,11 @@ void MapLoader::LoadLevel(MapData *map, const char *lumpname, int position)
|
||||||
if (ForceNodeBuild)
|
if (ForceNodeBuild)
|
||||||
{
|
{
|
||||||
BuildGLNodes = true;
|
BuildGLNodes = true;
|
||||||
|
// In case the compatibility handler made changes to the map's layout
|
||||||
|
for(auto &line : Level->lines)
|
||||||
|
{
|
||||||
|
line.AdjustLine();
|
||||||
|
}
|
||||||
|
|
||||||
startTime = I_msTime();
|
startTime = I_msTime();
|
||||||
TArray<FNodeBuilder::FPolyStart> polyspots, anchors;
|
TArray<FNodeBuilder::FPolyStart> polyspots, anchors;
|
||||||
|
@ -3153,7 +3158,7 @@ void MapLoader::LoadLevel(MapData *map, const char *lumpname, int position)
|
||||||
// use in P_PointInSubsector to avoid problems with maps that depend on the specific
|
// use in P_PointInSubsector to avoid problems with maps that depend on the specific
|
||||||
// nodes they were built with (P:AR E1M3 is a good example for a map where this is the case.)
|
// nodes they were built with (P:AR E1M3 is a good example for a map where this is the case.)
|
||||||
reloop |= CheckNodes(map, BuildGLNodes, (uint32_t)(endTime - startTime));
|
reloop |= CheckNodes(map, BuildGLNodes, (uint32_t)(endTime - startTime));
|
||||||
|
|
||||||
// set the head node for gameplay purposes. If the separate gamenodes array is not empty, use that, otherwise use the render nodes.
|
// set the head node for gameplay purposes. If the separate gamenodes array is not empty, use that, otherwise use the render nodes.
|
||||||
Level->headgamenode = Level->gamenodes.Size() > 0 ? &Level->gamenodes[Level->gamenodes.Size() - 1] : Level->nodes.Size() ? &Level->nodes[Level->nodes.Size() - 1] : nullptr;
|
Level->headgamenode = Level->gamenodes.Size() > 0 ? &Level->gamenodes[Level->gamenodes.Size() - 1] : Level->nodes.Size() ? &Level->nodes[Level->nodes.Size() - 1] : nullptr;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue