summaryrefslogtreecommitdiff
path: root/game/network/network.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-05-12 00:23:42 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2025-05-12 00:23:42 +0100
commitb3105c56c277f6e1e27a3e5e5ee5e1b6c3f47afd (patch)
tree2f136cb121ef5aa5a78267ccbfa220ca87b56aac /game/network/network.h
parentSplit definition creation from link creation (diff)
downloadilt-b3105c56c277f6e1e27a3e5e5ee5e1b6c3f47afd.tar.bz2
ilt-b3105c56c277f6e1e27a3e5e5ee5e1b6c3f47afd.tar.xz
ilt-b3105c56c277f6e1e27a3e5e5ee5e1b6c3f47afd.zip
Split link generation definitions according to terrain
Copies the same imperfect logic from old link addition functions.
Diffstat (limited to 'game/network/network.h')
-rw-r--r--game/network/network.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/game/network/network.h b/game/network/network.h
index 153b410..65db016 100644
--- a/game/network/network.h
+++ b/game/network/network.h
@@ -64,7 +64,7 @@ public:
[[nodiscard]] virtual float findNodeDirection(Node::AnyCPtr) const = 0;
- [[nodiscard]] Link::Collection create(const CreationDefinition &);
+ [[nodiscard]] Link::Collection create(const GeoData *, const CreationDefinition &);
virtual void add(GeoData *, const Link::Ptr &) = 0;
[[nodiscard]] virtual const Surface * getBaseSurface() const = 0;
@@ -76,6 +76,9 @@ protected:
static std::pair<GenCurveDef, GenCurveDef> genCurveDef(
const GlobalPosition3D & start, const GlobalPosition3D & end, float startDir, float endDir);
+ [[nodiscard]] GenLinksDef terrainSplit(const GeoData *, const GenStraightDef &) const;
+ [[nodiscard]] GenLinksDef terrainSplit(const GeoData *, const GenCurveDef &) const;
+ static void terrainSplitAt(GenLinkDef & previous, GenLinkDef & next, GlobalPosition3D pos);
[[nodiscard]] virtual Link::Ptr create(const GenStraightDef &) = 0;
[[nodiscard]] virtual Link::Ptr create(const GenCurveDef &) = 0;