Skip to content
This repository has been archived by the owner on May 7, 2022. It is now read-only.

Bevy Tilemap 0.3.0

Compare
Choose a tag to compare
@joshuajbouw joshuajbouw released this 11 Jan 07:31
· 61 commits to master since this release
41a19b7

This release came a little later than anticipated due to a busy holiday season. I didn't expect Bevy to release on Christmas Eve but that is ok. This is a pretty big release that was supposed to have more features included however, ran out of time. Those will come in a future version though. Sorry for those that were waiting for auto-tile.

[0.3.0] - 2021-01-11

Added

  • Auto configuration of optimal chunk sizes to texture size as well as checks
    to ensure that the tiles are divisible into each other had been added. This can
    be enabled in the TilemapBuilder with auto_configure.
  • Auto chunk which will create new chunks automatically if you push a tile into
    it. This can be enabled in the TilemapBuilder with auto_chunk
  • Optional dimension 2D and 3D API.
  • TilemapDefaultPlugins was added.
  • point and dimension modules were moved to bevy_tilemap_types crate but
    still accessible as normal and optional.
  • Example stress_dwarves has been added to benchmark and stress test.
  • Various hex orientations were added (thanks @jamadazi!).
  • A hex example random_world was added to showcase one of the hex
    orientations.
  • Tilemap::get_tile method was added to get a reference to a tile.
  • Tilemap::get_tile_mut method was added to get a mutable reference to a tile.
    This should make it easier to do animations.
  • Tilemap::tile_to_chunk_point method is now point_to_chunk_point.
  • tile:RawTile is now public API but not included in the prelude as it is not
    meant to be constructed.
  • Examples for all tile orientations.
  • Library is able to work with WASM.
  • Default plugin for Tilemap was introduced.

Changed

  • The whole project was mostly refactored.
  • ChunkTilesPlugin is now Tilemap2DPlugin.
  • TilemapBuilder::build() is now TilemapBuilder::finish() to be consistent.
  • Point module was now made optional.
  • Changed the random_dungeon example to be more like an actual implementation.
  • Tile had all generics removed from it.
  • Tilemap::new_chunk is now Tilemap::insert_chunk to reflect the storage
    internally.
  • It is now required to specify if chunks are to be auto created in the
    TilemapBuilder with auto_chunk method.
  • Tilemap::remove_tile was renamed to clear_tile. This makes more sense as
    it may be deleted if it is a sparse tile, else it is simply cleared if it is
    dense.
  • Tilemap::contains_chunk method was added to check if the tilemap contains a
    chunk or not already.
  • TilemapComponents renamed to TilemapBundle to stay inline with Bevy API.
  • ChunkComponents renamed to ChunkBundle to stay inline with Bevy API.
  • All examples were updated for latest bevy.

Removed

  • Point2 and Point3 deprecations were removed.

Known Bugs

  • Examples moved to its own library temporarily. This is a Bevy 0.4 issue where
    you can not place bevy into the dev-dependencies of the Cargo.toml.
  • Hex Y-axis is not perfectly centred.

Thanks

Thanks to the following wonderful contributors for their work on this release (in no particular order).