Releases
v0.9.0
Compare
Sorry, something went wrong.
No results found
Trouv
released this
11 Feb 17:18
0.9.0 (2024-02-11)
⚠ BREAKING CHANGES
upgrade to bevy 0.12 (#265 )
upgrade to LDtk 1.5.3, dropping support for previous versions (#295 )
add SpawnExclusions to LdtkSettings 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 in LdtkEntity and LdtkIntCell derive macros (#222 )
add RawLevelAccessor trait for LdtkJson level borrowing/iteration, replacing existing methods (#225 )
add LevelIndices type defining a level's location in a project and use it in LevelSelection::Indices (#221 )
change LevelEvent inner types from String to LevelIid (#219 )
change LevelSet inner type from String to LevelIid (#219 )
change LevelSelection::Iid inner type from String to LevelIid (#219 )
replace LevelSet::from_iid with LevelSet::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 and LdtkLevel::level fields have both been renamed to data (#206 )
All fields of LdtkProject and LdtkLevel are now privatized, and have immutable getter methods (#206 )
LevelMap and TilesetMap type aliases have been removed (#206 )
LdtkAsset and LdtkProject are now exported in new assets module instead of lib.rs (#206 )
asset Loader types are now private (#206 )
LdtkAsset renamed to LdtkProject (#206 )
Features
add LevelIndices type defining a level's location in a project and use it in LevelSelection::Indices (#221 ) (59618fe )
add RawLevelAccessor trait for LdtkJson level borrowing/iteration, replacing existing methods (#225 ) (d3de2d9 )
add SpawnExclusions to LdtkSettings 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 from String to LevelIid (#219 ) (0039ed7 )
change LevelSelection::Iid inner type from String to LevelIid (#219 ) (0039ed7 )
change LevelSet inner type from String to LevelIid (#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 with LevelSet::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 in LdtkEntity and LdtkIntCell derive macros (#222 ) (f003127 )
Bug Fixes
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 )
Documentation Changes
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 )
Code Refactors
LdtkAsset and LdtkProject are now exported in new assets module instead of lib.rs (#206 ) (fe44774 )
LdtkAsset renamed to LdtkProject (#206 ) (fe44774 )
LdtkProject::project and LdtkLevel::level fields have both been renamed to data (#206 ) (fe44774 )
LevelMap and TilesetMap type aliases have been removed (#206 ) (fe44774 )
All fields of LdtkProject and LdtkLevel are now privatized, and have immutable getter methods (#206 ) (fe44774 )
asset Loader types are now private (#206 ) (fe44774 )
You can’t perform that action at this time.