This repository has been archived by the owner on May 7, 2022. It is now read-only.
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 withncollide2
(technically this work was
postponed but worth mentioning). - Fix deprecated uses of
add_layer_with_kind
. - Fixed missing
texture_dimensions
inphysics_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
andsprite_order
fields toTile
. - Added
MissingTextureDimensions
error toTilemapError
. - Added
event
module which allows use of theTilemapChunkEvent
. - Added
auto_spawn
to theTilemap
. - Added
clear_layer
to theTilemap
which enables clearing of whole layers.
Changed
- Updated to Bevy 0.5
- Renamed
Tilemap2DPlugin
toTilemapPlugin
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 argumentdepth
. 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 newTilemapLayer
. 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 newTilemapLayer
. 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 aPoint3
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