- made dumpportals CCMD multi-level aware.

This commit is contained in:
Christoph Oelckers 2019-01-29 20:23:18 +01:00
parent 1b37d85ac3
commit 12351ae9bb
1 changed files with 27 additions and 24 deletions

View File

@ -468,32 +468,34 @@ void InitPortalGroups(FLevelLocals *Level)
CCMD(dumpportals) CCMD(dumpportals)
{ {
auto Level = &level; for (auto Level : AllLevels())
for(unsigned i=0;i<Level->portalGroups.Size(); i++) {
Printf("Portal groups for %s\n", Level->MapName.GetChars());
for (unsigned i = 0; i < Level->portalGroups.Size(); i++)
{ {
auto p = Level->portalGroups[i]; auto p = Level->portalGroups[i];
double xdisp = p->mDisplacement.X; double xdisp = p->mDisplacement.X;
double ydisp = p->mDisplacement.Y; double ydisp = p->mDisplacement.Y;
Printf(PRINT_LOG, "Portal #%d, %s, displacement = (%f,%f)\n", i, p->plane==0? "floor":"ceiling", Printf(PRINT_LOG, "Portal #%d, %s, displacement = (%f,%f)\n", i, p->plane == 0 ? "floor" : "ceiling",
xdisp, ydisp); xdisp, ydisp);
Printf(PRINT_LOG, "Coverage:\n"); Printf(PRINT_LOG, "Coverage:\n");
for(auto &sub : Level->subsectors) for (auto &sub : Level->subsectors)
{ {
auto port = sub.render_sector->GetPortalGroup(p->plane); auto port = sub.render_sector->GetPortalGroup(p->plane);
if (port == p) if (port == p)
{ {
Printf(PRINT_LOG, "\tSubsector %d (%d):\n\t\t", sub.Index(), sub.render_sector->sectornum); Printf(PRINT_LOG, "\tSubsector %d (%d):\n\t\t", sub.Index(), sub.render_sector->sectornum);
for(unsigned k = 0;k< sub.numlines; k++) for (unsigned k = 0; k < sub.numlines; k++)
{ {
Printf(PRINT_LOG, "(%.3f,%.3f), ", sub.firstline[k].v1->fX() + xdisp, sub.firstline[k].v1->fY() + ydisp); Printf(PRINT_LOG, "(%.3f,%.3f), ", sub.firstline[k].v1->fX() + xdisp, sub.firstline[k].v1->fY() + ydisp);
} }
Printf(PRINT_LOG, "\n\t\tCovered by subsectors:\n"); Printf(PRINT_LOG, "\n\t\tCovered by subsectors:\n");
FPortalCoverage *cov = &sub.portalcoverage[p->plane]; FPortalCoverage *cov = &sub.portalcoverage[p->plane];
for(int l = 0;l< cov->sscount; l++) for (int l = 0; l < cov->sscount; l++)
{ {
subsector_t *csub = &Level->subsectors[cov->subsectors[l]]; subsector_t *csub = &Level->subsectors[cov->subsectors[l]];
Printf(PRINT_LOG, "\t\t\t%5d (%4d): ", cov->subsectors[l], csub->render_sector->sectornum); Printf(PRINT_LOG, "\t\t\t%5d (%4d): ", cov->subsectors[l], csub->render_sector->sectornum);
for(unsigned m = 0;m< csub->numlines; m++) for (unsigned m = 0; m < csub->numlines; m++)
{ {
Printf(PRINT_LOG, "(%.3f,%.3f), ", csub->firstline[m].v1->fX(), csub->firstline[m].v1->fY()); Printf(PRINT_LOG, "(%.3f,%.3f), ", csub->firstline[m].v1->fX(), csub->firstline[m].v1->fY());
} }
@ -502,4 +504,5 @@ CCMD(dumpportals)
} }
} }
} }
}
} }