0.10.0 (2024-07-20)
- add #[default] attribute to LdtkEntity and LdtkIntCell derive macros (#306) (416a46e)
- upgrade to bevy 0.13 (#302) (2ee602f), closes #301
- upgrade to bevy and bevy_ecs_ldtk 0.14 (#325) (d888535)
0.9.0 (2024-02-11)
- upgrade to bevy 0.12 (#265)
- upgrade to LDtk 1.5.3, dropping support for previous versions (#295)
- add
SpawnExclusions
toLdtkSettings
for skipping layers by identifier (#275) - add layer entity for Entity layers, changing the hierarchy (#257)
- upgrade to LDtk types and examples to 1.4.1 (drop support for <1.4.1) (#256)
- LdtkLevel renamed to LdtkExternalLevel and is no longer used as a component (#244)
- redesign LdtkProject with better level data accessors and correct modeling of internal/external levels (#244)
- use the bundle's
Default
implementation rather than the field's inLdtkEntity
andLdtkIntCell
derive macros (#222) - add
RawLevelAccessor
trait forLdtkJson
level borrowing/iteration, replacing existing methods (#225) - add
LevelIndices
type defining a level's location in a project and use it inLevelSelection::Indices
(#221) - change
LevelEvent
inner types fromString
toLevelIid
(#219) - change
LevelSet
inner type fromString
toLevelIid
(#219) - change
LevelSelection::Iid
inner type fromString
toLevelIid
(#219) - replace
LevelSet::from_iid
withLevelSet::from_iids
, which can convert from any collection of strings. (#219) - use new LevelIid type in LevelEvent, LevelSet, and LevelSelection, plus other improvements (#219)
LdtkProject::project
andLdtkLevel::level
fields have both been renamed todata
(#206)- All fields of
LdtkProject
andLdtkLevel
are now privatized, and have immutable getter methods (#206) LevelMap
andTilesetMap
type aliases have been removed (#206)LdtkAsset
andLdtkProject
are now exported in newassets
module instead oflib.rs
(#206)- asset
Loader
types are now private (#206) LdtkAsset
renamed toLdtkProject
(#206)
- add
LevelIndices
type defining a level's location in a project and use it inLevelSelection::Indices
(#221) (59618fe) - add
RawLevelAccessor
trait forLdtkJson
level borrowing/iteration, replacing existing methods (#225) (d3de2d9) - add
SpawnExclusions
toLdtkSettings
for skipping layers by identifier (#275) (282404d), closes #272 - add layer entity for Entity layers, changing the hierarchy (#257) (ee20a53)
- add LdtkJsonWithMetadata type for representing internal- and external-level project data with generics (#242) (630434a)
- add LdtkProjectData for representing either internal- or external-level project data concretely (#243) (c530bc9)
- add level locale types and begin splitting internal_levels and external_levels features (#237) (8129e55)
- add LevelIid component and spawn it on every level (#215) (ad83455)
- add LoadedLevel type that wraps around levels with complete data (#214) (3d40c15)
- add types and traits around LevelMetadata (#229) (382dea2)
- change
LevelEvent
inner types fromString
toLevelIid
(#219) (0039ed7) - change
LevelSelection::Iid
inner type fromString
toLevelIid
(#219) (0039ed7) - change
LevelSet
inner type fromString
toLevelIid
(#219) (0039ed7) - LdtkLevel renamed to LdtkExternalLevel and is no longer used as a component (#244) (670cd4e)
- redesign LdtkProject with better level data accessors and correct modeling of internal/external levels (#244) (670cd4e)
- replace
LevelSet::from_iid
withLevelSet::from_iids
, which can convert from any collection of strings. (#219) (0039ed7) - upgrade to bevy 0.12 (#265) (194731e)
- upgrade to LDtk 1.5.3, dropping support for previous versions (#295) (4926a50)
- upgrade to LDtk types and examples to 1.4.1 (drop support for <1.4.1) (#256) (ab21e2c)
- use new LevelIid type in LevelEvent, LevelSet, and LevelSelection, plus other improvements (#219) (0039ed7)
- use the bundle's
Default
implementation rather than the field's inLdtkEntity
andLdtkIntCell
derive macros (#222) (f003127)
- don't apply level set until project and dependencies are completely loaded (#296) (dbfe1c6)
- normalize resolved asset paths using
path_clean
(#255) (33a8998), closes #240 - only spawn invisible tiles on first sub-layer of AutoTile+IntGrid layers (#231) (d2873e3)
- recalculate layer offset to adjust for tileset sizes (#254) (c00085d)
- use entity definition tile size instead of entity instance tile size as basis when calculating ldtk entity scale (#271) (833af01)
- add 0.8 to 0.9 migration guide (#266) (bb91660)
- add collectathon cargo example (#288) (32dfb85)
- add mdbook with outline and introduction (#261) (810b25a)
- add tile-based game example w/ a tutorial in the book, replacing getting-started guide (#269) (2d43efa)
- document all-features in docs.rs (#252) (321bb07)
- reference book in API ref and README.md, replacing redundant sections (#282) (e7afdad)
- remove README.md caveat for hot reloading external levels (#253) (59eb6b3)
- write Anatomy of the World chapter of book (#285) (29d5e33)
- write Create bevy relations from ldtk entity references chapter of book (#287) (8080f24)
- write Game Logic Integration chapter of the book (#279) (a62a556)
- write Level Selection chapter of book (#284) (226c60c)
- write Make level selection follow player chapter of book (#293) (201d908)
- write Respawn levels and worlds chapter of book (#289) (55ed30f)
LdtkAsset
andLdtkProject
are now exported in newassets
module instead oflib.rs
(#206) (fe44774)LdtkAsset
renamed toLdtkProject
(#206) (fe44774)LdtkProject::project
andLdtkLevel::level
fields have both been renamed todata
(#206) (fe44774)LevelMap
andTilesetMap
type aliases have been removed (#206) (fe44774)- All fields of
LdtkProject
andLdtkLevel
are now privatized, and have immutable getter methods (#206) (fe44774) - asset
Loader
types are now private (#206) (fe44774)
0.8.0 (2023-07-31)
- upgrade to bevy and bevy_ecs_tilemap 0.11 (#204)
LdtkAsset::world_height
has been removed- upgrade LDtk types to 1.3.3 (dropping support for <1.3.3 LDtk projects) (#203)
- add
EntityIid
component which is added to all entities by default (#194) (d99f1ae) - register and derive Reflect for LdtkLevel and dependent types (#201) (873ed17)
- upgrade LDtk types to 1.3.3 (dropping support for <1.3.3 LDtk projects) (#203) (e347780)
- upgrade to bevy and bevy_ecs_tilemap 0.11 (#204) (ef1b075)
0.7.0 (2023-04-29)
- Most likely won't affect users -
LdtkAsset
has gained aint_grid_image_handle
field, breaking any manual construction of it.
- create IntGrid white-image on asset load and minimize its size (#183) (23fd924)
- insert Name component before evaluating
LdtkEntity
(#186) (a5c1579)
0.6.0 (2023-03-31)
- In addition to updating to bevy 0.10, users may need define order between
LdtkSystemSet::ProcessApi
and other 3rd party system sets, like rapier. - change LdtkEntity's #[with] attribute to borrow EntityInstance (#158)
- split
RegisterLdtkObjects
into two new traits with a different naming convention (#155) - change #[from_entity_instance] to use references (#149)
- add
#[sprite_sheet_bundle(no_grid)]
attribute for generating a single-textureTextureAtlas
instead of a grid (#161) (d6d3c9c) - add
with
attribute for LdtkIntCell derive macro (#157) (d3fbd3c) - add LevelSet::from_iid method (#144) (fb17ae1)
- add render feature for headless mode (tilemaps only) (#159) (2f8000e)
- change #[from_entity_instance] to use references (#149) (246880f)
- change LdtkEntity's #[with] attribute to borrow EntityInstance (#158) (c052b31)
- register TileMetadata and TileEnumTags types (#153) (26cae15)
- register types
GridCoords
andLayerMetadata
(#146) (ed4a0f9) - upgrade to bevy 0.10 (#168) (5b8f17c)
- improve ground detection in platformer example (#137) (cafba57)
- use rect_builder buffer instead of row-specific current_rects in spawn_wall_collisions (#147) (45303f3)
- explain feature flags in crate-level documentation (#164) (a832da0)
- explain that sprite_bundle should not be used with tilemap editor visuals (#142) (1a7a8a1)
- repair doc links to bevy in app module (#154) (0f928e8)
0.5.0 (2022-11-19)
- upgrade to bevy 0.9 (#138)
- adjust tile transformations for bevy_ecs_tilemap 0.8 (#136)
- upgrade
bevy_ecs_tilemap
dependency to 0.8 (#134)