Merge branch 'master' into jgrpp

# Conflicts:
#	src/industry_cmd.cpp
#	src/landscape.cpp
#	src/object_cmd.cpp
#	src/rail_cmd.cpp
#	src/script/api/script_tile.cpp
#	src/table/settings/difficulty_settings.ini
#	src/table/settings/world_settings.ini
#	src/terraform_cmd.cpp
#	src/tilearea_type.h
#	src/tree_cmd.cpp
#	src/tree_cmd.h
#	src/tree_gui.cpp
#	src/water_cmd.cpp
This commit is contained in:
Jonathan G Rennison
2023-01-14 16:40:24 +00:00
16 changed files with 62 additions and 53 deletions

View File

@@ -154,7 +154,9 @@ public:
/**
* Allocate a new iterator that is a copy of this one.
*/
virtual TileIterator *Clone() const = 0;
virtual std::unique_ptr<TileIterator> Clone() const = 0;
static std::unique_ptr<TileIterator> Create(TileIndex corner1, TileIndex corner2, bool diagonal);
};
/** Iterator to iterate over a tile area (rectangle) of the map. */
@@ -201,9 +203,9 @@ public:
return *this;
}
virtual TileIterator *Clone() const
virtual std::unique_ptr<TileIterator> Clone() const
{
return new OrthogonalTileIterator(*this);
return std::make_unique<OrthogonalTileIterator>(*this);
}
};
@@ -227,11 +229,6 @@ public:
PREFETCH_NTA(&_m[ta.tile]);
}
/** Some compilers really like this. */
virtual ~OrthogonalPrefetchTileIterator()
{
}
/**
* Get the tile we are currently at.
* @return The tile we are at, or INVALID_TILE when we're done.
@@ -259,11 +256,6 @@ public:
}
return *this;
}
virtual OrthogonalPrefetchTileIterator *Clone() const
{
return new OrthogonalPrefetchTileIterator(*this);
}
};
/** Iterator to iterate over a diagonal area of the map. */
@@ -299,9 +291,9 @@ public:
TileIterator& operator ++();
virtual TileIterator *Clone() const
virtual std::unique_ptr<TileIterator> Clone() const
{
return new DiagonalTileIterator(*this);
return std::make_unique<DiagonalTileIterator>(*this);
}
};