mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-24 00:03:11 +01:00
Refactor the code that uses MapGetFootpathElement
This commit is contained in:
@@ -59,7 +59,7 @@ uint8_t TileElementWantsFootpathConnection::_gScreenFlags;
|
||||
TEST_F(TileElementWantsFootpathConnection, FlatPath)
|
||||
{
|
||||
// Flat paths want to connect to other paths in any direction
|
||||
const TileElement* const pathElement = MapGetFootpathElement(TileCoordsXYZ{ 19, 18, 14 }.ToCoordsXYZ());
|
||||
const auto* pathElement = MapGetFootpathElement(TileCoordsXYZ{ 19, 18, 14 }.ToCoordsXYZ());
|
||||
ASSERT_NE(pathElement, nullptr);
|
||||
EXPECT_TRUE(TileElementWantsPathConnectionTowards({ 19, 18, 14, 0 }, nullptr));
|
||||
EXPECT_TRUE(TileElementWantsPathConnectionTowards({ 19, 18, 14, 1 }, nullptr));
|
||||
@@ -71,7 +71,7 @@ TEST_F(TileElementWantsFootpathConnection, FlatPath)
|
||||
TEST_F(TileElementWantsFootpathConnection, SlopedPath)
|
||||
{
|
||||
// Sloped paths only want to connect in two directions, of which is one at a higher offset
|
||||
const TileElement* const slopedPathElement = MapGetFootpathElement(TileCoordsXYZ{ 18, 18, 14 }.ToCoordsXYZ());
|
||||
const auto* slopedPathElement = MapGetFootpathElement(TileCoordsXYZ{ 18, 18, 14 }.ToCoordsXYZ());
|
||||
ASSERT_NE(slopedPathElement, nullptr);
|
||||
ASSERT_TRUE(slopedPathElement->AsPath()->IsSloped());
|
||||
// Bottom and top of sloped path want a path connection
|
||||
@@ -152,14 +152,15 @@ TEST_F(TileElementWantsFootpathConnection, MapEdge)
|
||||
{
|
||||
// Paths at the map edge should have edge flags turned on when placed in scenario editor
|
||||
// This tile is a single, unconnected footpath on the map edge - on load, GetEdges() returns 0
|
||||
TileElement* pathElement = MapGetFootpathElement(TileCoordsXYZ{ 1, 4, 14 }.ToCoordsXYZ());
|
||||
auto* pathElement = MapGetFootpathElement(TileCoordsXYZ{ 1, 4, 14 }.ToCoordsXYZ());
|
||||
|
||||
// Enable flag to simulate enabling the scenario editor
|
||||
gScreenFlags |= SCREEN_FLAGS_SCENARIO_EDITOR;
|
||||
|
||||
// Calculate the connected edges and set the appropriate edge flags
|
||||
FootpathConnectEdges({ 16, 64 }, pathElement, 0);
|
||||
auto edges = pathElement->AsPath()->GetEdges();
|
||||
// FIXME: The footpath functions should only take PathElement and not TileElement.
|
||||
FootpathConnectEdges({ 16, 64 }, pathElement->as<TileElement>(), 0);
|
||||
auto edges = pathElement->GetEdges();
|
||||
|
||||
// The tiles alongside in the Y direction are both on the map edge so should be marked as an edge
|
||||
EXPECT_TRUE(edges & (1 << 1));
|
||||
|
||||
Reference in New Issue
Block a user