- refactored sector portal data so that it does not rely on actors.
This is necessary because otherwise the level data cannot be serialized before the actors.
This commit is contained in:
parent
3532dd9ea1
commit
082042818b
23 changed files with 410 additions and 284 deletions
|
|
@ -216,7 +216,7 @@ void FTraceInfo::EnterSectorPortal(FPathTraverse &pt, int position, double frac,
|
|||
inshootthrough = true;
|
||||
startfrac = frac;
|
||||
EnterDist = enterdist;
|
||||
pt.PortalRelocate(entersec->SkyBoxes[position], ptflags, frac);
|
||||
pt.PortalRelocate(entersec->GetPortal(position)->mDisplacement, ptflags, frac);
|
||||
|
||||
if ((TraceFlags & TRACE_ReportPortals) && TraceCallback != NULL)
|
||||
{
|
||||
|
|
@ -321,7 +321,7 @@ void FTraceInfo::Setup3DFloors()
|
|||
{
|
||||
CurSector->floorplane = *rover->top.plane;
|
||||
CurSector->SetTexture(sector_t::floor, *rover->top.texture, false);
|
||||
CurSector->SkyBoxes[sector_t::floor] = nullptr;
|
||||
CurSector->ClearPortal(sector_t::floor);
|
||||
bf = ff_top;
|
||||
}
|
||||
}
|
||||
|
|
@ -333,7 +333,7 @@ void FTraceInfo::Setup3DFloors()
|
|||
CurSector->ceilingplane = *rover->bottom.plane;
|
||||
CurSector->SetTexture(sector_t::ceiling, *rover->bottom.texture, false);
|
||||
bc = ff_bottom;
|
||||
CurSector->SkyBoxes[sector_t::ceiling] = nullptr;
|
||||
CurSector->ClearPortal(sector_t::ceiling);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -343,7 +343,7 @@ void FTraceInfo::Setup3DFloors()
|
|||
{
|
||||
CurSector->floorplane = *rover->bottom.plane;
|
||||
CurSector->SetTexture(sector_t::floor, *rover->bottom.texture, false);
|
||||
CurSector->SkyBoxes[sector_t::floor] = nullptr;
|
||||
CurSector->ClearPortal(sector_t::floor);
|
||||
bf = ff_bottom;
|
||||
}
|
||||
|
||||
|
|
@ -351,7 +351,7 @@ void FTraceInfo::Setup3DFloors()
|
|||
{
|
||||
CurSector->ceilingplane = *rover->top.plane;
|
||||
CurSector->SetTexture(sector_t::ceiling, *rover->top.texture, false);
|
||||
CurSector->SkyBoxes[sector_t::ceiling] = nullptr;
|
||||
CurSector->ClearPortal(sector_t::ceiling);
|
||||
bc = ff_top;
|
||||
}
|
||||
inshootthrough = false;
|
||||
|
|
@ -499,7 +499,7 @@ bool FTraceInfo::LineCheck(intercept_t *in, double dist, DVector3 hit)
|
|||
{
|
||||
entersector->floorplane = *rover->top.plane;
|
||||
entersector->SetTexture(sector_t::floor, *rover->top.texture, false);
|
||||
entersector->SkyBoxes[sector_t::floor] = NULL;
|
||||
entersector->ClearPortal(sector_t::floor);
|
||||
bf = ff_top;
|
||||
}
|
||||
}
|
||||
|
|
@ -510,7 +510,7 @@ bool FTraceInfo::LineCheck(intercept_t *in, double dist, DVector3 hit)
|
|||
{
|
||||
entersector->ceilingplane = *rover->bottom.plane;
|
||||
entersector->SetTexture(sector_t::ceiling, *rover->bottom.texture, false);
|
||||
entersector->SkyBoxes[sector_t::ceiling] = NULL;
|
||||
entersector->ClearPortal(sector_t::ceiling);
|
||||
bc = ff_bottom;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue