diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-02-21 13:05:01 +0000 | 
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-02-21 13:05:01 +0000 | 
| commit | 3a87671757ef081d059187e380274a8a9ba0b24c (patch) | |
| tree | 80b4f4a1aa25c240eab867a8823092e1ea7ab40b /game | |
| parent | Add more test rails (diff) | |
| download | ilt-3a87671757ef081d059187e380274a8a9ba0b24c.tar.bz2 ilt-3a87671757ef081d059187e380274a8a9ba0b24c.tar.xz ilt-3a87671757ef081d059187e380274a8a9ba0b24c.zip  | |
Tweak rail mesh to work in junctions better
Diffstat (limited to 'game')
| -rw-r--r-- | game/network/rail.cpp | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/game/network/rail.cpp b/game/network/rail.cpp index 10dfb88..b27aba9 100644 --- a/game/network/rail.cpp +++ b/game/network/rail.cpp @@ -13,6 +13,8 @@  #include <type_traits>  #include <utility> +constexpr std::size_t RAIL_CROSSSECTION_VERTICES {5}; +  RailLinks::RailLinks() : texture {Texture::cachedTexture.get("rails.jpg")} { }  void RailLinks::tick(TickDuration) { } @@ -44,8 +46,8 @@ RailLinks::render(const Shader & shader) const  void  RailLink::defaultMesh()  { -	for (auto n = 4U; n < vertices.size(); n += 1) { -		indices.push_back(n - 4); +	for (auto n = RAIL_CROSSSECTION_VERTICES; n < vertices.size(); n += 1) { +		indices.push_back(n - RAIL_CROSSSECTION_VERTICES);  		indices.push_back(n);  	} @@ -60,13 +62,14 @@ RailLink::render(const Shader &) const  	meshes.apply(&Mesh::Draw);  } -constexpr const std::array<std::pair<glm::vec3, float>, 4> railCrossSection {{ +constexpr const std::array<std::pair<glm::vec3, float>, RAIL_CROSSSECTION_VERTICES> railCrossSection {{  		//   ___________  		// _/           \_  		//  left to right  		{{-1.9F, 0.F, 0.F}, 0.F}, -		{{-1.43F, .25F, 0.F}, 0.125F}, -		{{1.43F, .25F, 0.F}, 0.875F}, +		{{-.608F, RAIL_HEIGHT, 0.F}, 0.34F}, +		{{0, RAIL_HEIGHT * .7F, 0.F}, 0.5F}, +		{{.608F, RAIL_HEIGHT, 0.F}, 0.66F},  		{{1.9F, 0.F, 0.F}, 1.F},  }};  constexpr auto sleepers {5.F}; // There are 5 repetitions of sleepers in the texture  | 
