qbsp: move MakeBspBrushList to csg.cc for qbsp3 parity

This commit is contained in:
Eric Wasylishen 2022-07-09 23:44:22 -06:00
parent 8fc089aa34
commit d590e3d940
3 changed files with 15 additions and 9 deletions

View File

@ -36,3 +36,4 @@ std::unique_ptr<face_t> NewFaceFromFace(const face_t *in);
std::unique_ptr<face_t> CopyFace(const face_t* in);
std::tuple<std::unique_ptr<face_t>, std::unique_ptr<face_t>> SplitFace(std::unique_ptr<face_t> in, const qplane3d &split);
void UpdateFaceSphere(face_t *in);
std::vector<std::unique_ptr<bspbrush_t>> MakeBspBrushList(mapentity_t *entity);

View File

@ -970,15 +970,7 @@ static std::unique_ptr<tree_t> BrushBSP(mapentity_t *entity, std::vector<std::un
std::unique_ptr<tree_t> BrushBSP(mapentity_t *entity, bool midsplit)
{
// set the original pointers
std::vector<std::unique_ptr<bspbrush_t>> brushcopies;
for (const auto &original : entity->brushes) {
auto copy = original->copy_unique();
copy->original = original.get();
brushcopies.push_back(std::move(copy));
}
auto tree = BrushBSP(entity, std::move(brushcopies));
auto tree = BrushBSP(entity, MakeBspBrushList(entity));
return tree;
}

View File

@ -123,3 +123,16 @@ std::tuple<std::unique_ptr<face_t>, std::unique_ptr<face_t>> SplitFace(std::uniq
return {std::move(new_front), std::move(new_back)};
}
std::vector<std::unique_ptr<bspbrush_t>> MakeBspBrushList(mapentity_t *entity)
{
// set the original pointers
std::vector<std::unique_ptr<bspbrush_t>> brushcopies;
for (const auto &original : entity->brushes) {
auto copy = original->copy_unique();
copy->original = original.get();
brushcopies.push_back(std::move(copy));
}
return brushcopies;
}