From ebdbf62a1979b2ea32b793b1bb2aca9bf74d2684 Mon Sep 17 00:00:00 2001 From: szdytom Date: Fri, 1 Aug 2025 22:58:07 +0800 Subject: [PATCH] refactor: Remove const references for position parameters in tile and biome accessors Signed-off-by: szdytom --- tilemap/docs/api.md | 12 ++++++------ tilemap/include/chunk.h | 8 +++----- tilemap/include/generation.h | 2 +- tilemap/include/tilemap.h | 6 +++--- tilemap/src/chunk.cpp | 4 +--- tilemap/src/generation.cpp | 2 +- tilemap/src/tilemap.cpp | 6 +++--- 7 files changed, 18 insertions(+), 22 deletions(-) diff --git a/tilemap/docs/api.md b/tilemap/docs/api.md index 8014786..e72c7c7 100644 --- a/tilemap/docs/api.md +++ b/tilemap/docs/api.md @@ -25,9 +25,9 @@ public: Chunk& get_chunk(std::uint8_t chunk_x, std::uint8_t chunk_y); const Chunk& get_chunk(std::uint8_t chunk_x, std::uint8_t chunk_y) const; - Tile& get_tile(const TilePos& pos); - const Tile& get_tile(const TilePos& pos) const; - void set_tile(const TilePos& pos, const Tile& tile); + Tile& get_tile(TilePos pos); + const Tile& get_tile(TilePos pos) const; + void set_tile(TilePos pos, const Tile& tile); }; ``` @@ -48,8 +48,8 @@ struct Chunk { BiomeType biome[subchunk_count][subchunk_count]; // Sub-chunk biomes // Get biome for a specific sub-chunk position - BiomeType& get_biome(const SubChunkPos& pos); - const BiomeType& get_biome(const SubChunkPos& pos) const; + BiomeType& get_biome(SubChunkPos pos); + const BiomeType& get_biome(SubChunkPos pos) const; }; ``` @@ -102,7 +102,7 @@ struct SubChunkPos { }; std::pair subchunk_to_tile_start( - const SubChunkPos& pos + SubChunkPos pos ); ``` diff --git a/tilemap/include/chunk.h b/tilemap/include/chunk.h index c3c69bb..d3fd03c 100644 --- a/tilemap/include/chunk.h +++ b/tilemap/include/chunk.h @@ -42,20 +42,18 @@ struct Chunk { BiomeType biome[subchunk_count][subchunk_count]; // Get biome for a specific sub-chunk position - BiomeType &get_biome(const SubChunkPos &pos) { + BiomeType &get_biome(SubChunkPos pos) { return biome[pos.sub_x][pos.sub_y]; } // Get biome for a specific sub-chunk position (const version) - const BiomeType &get_biome(const SubChunkPos &pos) const { + const BiomeType &get_biome(SubChunkPos pos) const { return biome[pos.sub_x][pos.sub_y]; } }; // Get the starting tile coordinates for a sub-chunk -std::pair subchunk_to_tile_start( - const SubChunkPos &pos -); +std::pair subchunk_to_tile_start(SubChunkPos pos); } // namespace istd diff --git a/tilemap/include/generation.h b/tilemap/include/generation.h index c783f29..949e37c 100644 --- a/tilemap/include/generation.h +++ b/tilemap/include/generation.h @@ -85,7 +85,7 @@ private: */ void generate_subchunk( TileMap &tilemap, std::uint8_t chunk_x, std::uint8_t chunk_y, - const SubChunkPos &sub_pos, BiomeType biome + SubChunkPos sub_pos, BiomeType biome ); /** diff --git a/tilemap/include/tilemap.h b/tilemap/include/tilemap.h index 35b0f66..e90e5b0 100644 --- a/tilemap/include/tilemap.h +++ b/tilemap/include/tilemap.h @@ -38,15 +38,15 @@ public: * @brief Get a tile at the given position * @param pos The position of the tile */ - Tile &get_tile(const TilePos &pos); - const Tile &get_tile(const TilePos &pos) const; + Tile &get_tile(TilePos pos); + const Tile &get_tile(TilePos pos) const; /** * @brief Set a tile at the given position * @param pos The position of the tile * @param tile The tile to set */ - void set_tile(const TilePos &pos, const Tile &tile); + void set_tile(TilePos pos, const Tile &tile); }; } // namespace istd diff --git a/tilemap/src/chunk.cpp b/tilemap/src/chunk.cpp index 8649861..bdb73f8 100644 --- a/tilemap/src/chunk.cpp +++ b/tilemap/src/chunk.cpp @@ -2,9 +2,7 @@ namespace istd { -std::pair subchunk_to_tile_start( - const SubChunkPos &pos -) { +std::pair subchunk_to_tile_start(SubChunkPos pos) { // Convert sub-chunk position to tile start coordinates return {pos.sub_x * Chunk::subchunk_size, pos.sub_y * Chunk::subchunk_size}; } diff --git a/tilemap/src/generation.cpp b/tilemap/src/generation.cpp index ca8c61a..93bd245 100644 --- a/tilemap/src/generation.cpp +++ b/tilemap/src/generation.cpp @@ -82,7 +82,7 @@ void TerrainGenerator::generate_chunk( void TerrainGenerator::generate_subchunk( TileMap &tilemap, std::uint8_t chunk_x, std::uint8_t chunk_y, - const SubChunkPos &sub_pos, BiomeType biome + SubChunkPos sub_pos, BiomeType biome ) { const BiomeProperties &properties = get_biome_properties(biome); diff --git a/tilemap/src/tilemap.cpp b/tilemap/src/tilemap.cpp index 8c7a7b2..0e29d92 100644 --- a/tilemap/src/tilemap.cpp +++ b/tilemap/src/tilemap.cpp @@ -31,7 +31,7 @@ const Chunk &TileMap::get_chunk( return chunks_[chunk_x][chunk_y]; } -Tile &TileMap::get_tile(const TilePos &pos) { +Tile &TileMap::get_tile(TilePos pos) { if (pos.chunk_x >= size_ || pos.chunk_y >= size_) { throw std::out_of_range("Chunk coordinates out of bounds"); } @@ -41,7 +41,7 @@ Tile &TileMap::get_tile(const TilePos &pos) { return chunks_[pos.chunk_x][pos.chunk_y].tiles[pos.local_x][pos.local_y]; } -const Tile &TileMap::get_tile(const TilePos &pos) const { +const Tile &TileMap::get_tile(TilePos pos) const { if (pos.chunk_x >= size_ || pos.chunk_y >= size_) { throw std::out_of_range("Chunk coordinates out of bounds"); } @@ -51,7 +51,7 @@ const Tile &TileMap::get_tile(const TilePos &pos) const { return chunks_[pos.chunk_x][pos.chunk_y].tiles[pos.local_x][pos.local_y]; } -void TileMap::set_tile(const TilePos &pos, const Tile &tile) { +void TileMap::set_tile(TilePos pos, const Tile &tile) { if (pos.chunk_x >= size_ || pos.chunk_y >= size_) { throw std::out_of_range("Chunk coordinates out of bounds"); }