summaryrefslogtreecommitdiff
path: root/game
diff options
context:
space:
mode:
Diffstat (limited to 'game')
-rw-r--r--game/geoData.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/game/geoData.cpp b/game/geoData.cpp
index 8975d46..1a1e530 100644
--- a/game/geoData.cpp
+++ b/game/geoData.cpp
@@ -558,6 +558,14 @@ GeoData::setHeights(const std::span<const GlobalPosition3D> triangleStrip, const
doExtrusion(extrusionVertex, direction, p1, -MAX_SLOPE),
doExtrusion(extrusionVertex, direction, p1, MAX_SLOPE));
assert(extrusionVertex.is_valid());
+ if (extrusionExtents.size() >= 2) {
+ const auto & last = *extrusionExtents.rbegin();
+ const auto & prev = *++extrusionExtents.rbegin();
+ if (last.boundaryVertex == prev.boundaryVertex
+ && last.extrusionVertex == prev.extrusionVertex) {
+ extrusionExtents.pop_back();
+ }
+ }
};
if (const Arc arc {e0, e1}; arc.length() < MIN_ARC) {
addExtrusionFor(normalize(e0 + e1) / cosf(arc.length() / 2.F));