diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-05-12 00:23:42 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-05-12 00:23:42 +0100 |
commit | b3105c56c277f6e1e27a3e5e5ee5e1b6c3f47afd (patch) | |
tree | 2f136cb121ef5aa5a78267ccbfa220ca87b56aac /game/network/network.h | |
parent | Split definition creation from link creation (diff) | |
download | ilt-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.h | 5 |
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; |