summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--game/geoData.cpp9
-rw-r--r--game/geoData.h3
-rw-r--r--game/terrain.cpp8
-rw-r--r--game/terrain.h1
4 files changed, 10 insertions, 11 deletions
diff --git a/game/geoData.cpp b/game/geoData.cpp
index a1d9762..e035a3c 100644
--- a/game/geoData.cpp
+++ b/game/geoData.cpp
@@ -64,7 +64,6 @@ GeoData::loadFromAsciiGrid(const std::filesystem::path & input)
});
}
}
- mesh.generation++;
mesh.updateAllVertexNormals();
return mesh;
@@ -105,7 +104,6 @@ GeoData::createFlat(GlobalPosition2D lower, GlobalPosition2D upper, GlobalDistan
}
mesh.updateAllVertexNormals();
- mesh.generation++;
return mesh;
}
@@ -526,12 +524,11 @@ GeoData::setHeights(const std::span<const GlobalPosition3D> triangleStrip, const
}
updateAllVertexNormals(newOrChangedVerts);
- generation++;
+ afterChange();
return out;
}
-size_t
-GeoData::getGeneration() const
+void
+GeoData::afterChange()
{
- return generation;
}
diff --git a/game/geoData.h b/game/geoData.h
index d486f22..3d5ea5d 100644
--- a/game/geoData.h
+++ b/game/geoData.h
@@ -56,7 +56,6 @@ public:
};
std::vector<FaceHandle> setHeights(std::span<const GlobalPosition3D> triangleStrip, const SetHeightsOpts &);
- [[nodiscard]] size_t getGeneration() const;
[[nodiscard]] auto
getExtents() const
@@ -77,8 +76,8 @@ protected:
void updateAllVertexNormals();
template<std::ranges::range R> void updateAllVertexNormals(const R &);
void updateVertexNormal(VertexHandle);
+ virtual void afterChange();
private:
GlobalPosition3D lowerExtent {}, upperExtent {};
- size_t generation {};
};
diff --git a/game/terrain.cpp b/game/terrain.cpp
index 786b9b0..01af163 100644
--- a/game/terrain.cpp
+++ b/game/terrain.cpp
@@ -56,10 +56,12 @@ Terrain::generateMeshes()
void
Terrain::tick(TickDuration)
{
- if (const auto newGeneration = getGeneration(); newGeneration != geoGeneration) {
+}
+
+void
+Terrain::afterChange()
+{
generateMeshes();
- geoGeneration = newGeneration;
- }
}
void
diff --git a/game/terrain.h b/game/terrain.h
index 7464bdd..f0f9621 100644
--- a/game/terrain.h
+++ b/game/terrain.h
@@ -30,6 +30,7 @@ public:
};
private:
+ void afterChange() override;
void generateMeshes();
Collection<MeshT<Vertex>, false> meshes;