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

Bevy Tilemap 0.4.0

Latest
Compare
Choose a tag to compare
@joshuajbouw joshuajbouw released this 08 Apr 02:39
· 11 commits to master since this release
583249d

It is finally out! bevy_tilemap 0.4 with bevy 0.5 support.

This took a bit of work to get this done, plus had gotten quite busy during the first quarter of this year. Now back on a sane schedule!

Whats new?

  • Major overhaul of the backend
  • Support for 3D tilemaps with layer offsets
  • A few community requested methods and features
  • There are bits and pieces of the physics engine but it is not yet quite fully re-implemented yet.
  • 300% FPS gains

[0.4.0] - 2021-04-08

Fixed

  • Respawn panic and collision tile offsets.
  • Deprecated ncollide replaced with ncollide2 (technically this work was
    postponed but worth mentioning).
  • Fix deprecated uses of add_layer_with_kind.
  • Fixed missing texture_dimensions in physics_dungeon.

Added

  • Added 3D capabilities to the tilemap. No more being locked to a 2nd dimension!
  • Added TilemapBundle visibility, Visible, support which allows the
    visibility to be added to the tilemap and changed for all chunks if needed.
  • Added z_order and sprite_order fields to Tile.
  • Added MissingTextureDimensions error to TilemapError.
  • Added event module which allows use of the TilemapChunkEvent.
  • Added auto_spawn to the Tilemap.
  • Added clear_layer to the Tilemap which enables clearing of whole layers.

Changed

  • Updated to Bevy 0.5
  • Renamed Tilemap2DPlugin to TilemapPlugin as now the tilemap supports both
    2D and 3D. Lets not get carried away here and go beyond the 3rd dimension!
  • Chunk was made private as it never was meant to be public. Oops.
  • Changed RawTile to be public. Now you can see raw details of the tiles.
  • Made the TilemapError inner public.
  • TilemapBuilder::chunk_dimensions now requires an extra argument depth. You
    probably do not want to set this to 0.
  • Tilemapbuilder::tile_dimensions was renamed to
    TilemapBuilder::texture_dimensions. Makes it more exact, especially since
    tile dimensions are coming in the next update which are totally different
    (sorry, not sorry. It was you that decided to use an experimental game engine
    with an experimental plugin :D.)
  • TilemapBuilder::add_layer now takes in the new TilemapLayer. It does only
    have 1 field right now but this is expected to change at some point. Yay being
    ... prepared?
  • As with the above, Tilemap::add_layer also takes in the new TilemapLayer.
  • Tilemap::new now requires a width and height of the texture.
  • Anywhere that was required to take in a Point2 for a tile is now a Point3
    and while this technically is breaking, this shouldn't affect the API.

Removed

  • Tile::new, all fields were made public instead. That goes with all the many
    terribly thought out constructor patterns that should've never existed.
  • Removed render module from public API.
  • TilemapBuilder::auto_configure was purged. It no longer is needed.
  • all deprecated methods slated to be removed this release

Thanks!

Thank you all to the contributors to this release:
@arbrog
@BrettWitty
@darthdeus
@digital7-code
@Imakoala
@themilkybit
Timothée Le Berre
@jamadazi
@joshuajbouw