Skip to content

Releases: mapeditor/rs-tiled

v0.13.0

13 Nov 21:03
8f21563
Compare
Choose a tag to compare

Added

  • Added a source member to Tileset, Map and Template, which stores the resource path they have been loaded from. (#303)
  • Add hex_side_length member to Map. (#313)

Fixed

  • Fixed template instance size and position overrides in ObjectData::shape. (#309)

v0.12.1

21 Aug 21:10
5864f8f
Compare
Choose a tag to compare

Update that patches a few issues.

Changed

  • Improved documentation on Map::layers and Map::get_layer. (#306)
  • Extend lifetime of Layers returned from GroupLayer::get_layer to the map's. (#307)

New Contributors

Full Changelog: v0.12.0...v0.12.1

v0.12.0

14 Jun 10:25
a0bc45f
Compare
Choose a tag to compare

Huge release with lots of fixes and improvements.

Added

  • Add text, width and height members to ObjectShape::Text. (#278)
  • Implement ResourceReader for appropiate functions. (#272) Read the README's FAQ for more information about this change.
  • Support for custom type properties. (#283)

Changed

  • Underlying reader for maps now uses a BufReader, which should give a large performance boost. (#286)
  • Update base64 to 0.22.1. (#294)
  • Update libflate to 2.1.0. (#294)
  • Update zstd to 0.13.1. (#294)

Fixed

  • ObjectShape::Text::kerning's default value, which should have been set to true instead of false. (#278)
  • Unhandled u32 parsing panic in decode_csv. (#288)
  • Panic in <Color as FromStr>::from_str when parsing non-ascii input. (#290)
  • Index out of bounds in InfiniteTileLayerData when parsing a chunk. (#289)
  • Panic on unexpected XML in ObjectData content. (#291)
  • Divide by zero when parsing a tileset with height/width dimension of 0. (#292)

New Contributors

Full Changelog: v0.11.2...v0.12.0

v0.11.2

04 Oct 08:16
723f30e
Compare
Choose a tag to compare

Maintenance release. Updates dependencies and documentation.

Changelog

Changed

  • Updated Image docs. (#270)
  • Update libflate dependency to 2.0.0. (#279)
  • Fix some doc links. (#273)
  • Update ggez example to 0.9.3.

PRs Merged

Full Changelog: v0.11.1...v0.11.2

v0.11.1

19 May 07:33
7182516
Compare
Choose a tag to compare

Adds WASM support and support for staggered maps.

Changelog

Added

  • WASM support + wasm feature; Check README.md for instructions on how to set it up. (#252)
  • Support for staggered maps. Maps now have an stagger_axis and stagger_index property. (#262)
  • as_x functions for layer types. (#235)

PRs Merged

New Contributors

Full Changelog: v0.11.0...v0.11.1

v0.11.0

16 Mar 17:33
6dff214
Compare
Choose a tag to compare

A really big feature update that adds support for virtual file systems, templates, text objects and more!

If you are planning to upgrade to the new version, check out the full release notes on the CHANGELOG.

What's Changed

Full Changelog: https://github.com/mapeditor/rs-tiled/compare/v0.10.3...v0.11.0###

v0.10.3

13 Feb 15:44
bf18441
Compare
Choose a tag to compare

Adds support for Wang Sets, Tiled 1.9, tile offsets and updates deps.

What's Changed

New Contributors

Full Changelog: v0.10.2...v0.10.3

v0.10.2

26 Apr 13:04
786d44c
Compare
Choose a tag to compare

This update fixes some small issues and also adds basic chunk utilities as described in #210, improving infinite tile layer usage.

What's Changed

Full Changelog: v0.10.1...v0.10.2

v0.10.1

14 Mar 17:16
7c072c9
Compare
Choose a tag to compare

This update fixes a small documentation issue and adds a more streamlined way of loading assets.
The old methods for loading maps and tilesets have been deprecated.

Before:

use tiled::{FilesystemResourceCache, Map};

fn main() {
    let map = Map::parse_file(
        "assets/tiled_base64_zlib.tmx",
        &mut FilesystemResourceCache::new(),
    )
    .unwrap();
    println!("{:?}", map);
    println!("{:?}", map.tilesets()[0].get_tile(0).unwrap().probability);
}

Now:

use tiled::Loader;

fn main() {
    let mut loader = Loader::new();
    let map = loader.load_tmx_map("assets/tiled_base64_zlib.tmx").unwrap();
    println!("{:?}", map);
    println!("{:?}", map.tilesets()[0].get_tile(0).unwrap().probability);
    
    let tileset = loader.load_tsx_tileset("assets/tilesheet.tsx").unwrap();
    assert_eq!(*map.tilesets()[0], tileset);
}

See the docs for more detail.

What's Changed

New Contributors

Full Changelog: v0.10.0...v0.10.1

v0.10.0

10 Mar 12:01
dfd57a5
Compare
Choose a tag to compare

A big update!

This new release changes the entire interface, focusing on making everything more streamlined. The four most important changes are:

  • Introduction of the ResourceCache trait, used to speed up loading for maps that share external assets (for now, only tilesets).
  • Hiding global IDs from the interface, translating to tileset index + local tile ID on load.
  • Introducing wrappers over data types (e.g. Layer, Tile, Object, etc) which Defer to the regular data types, but conveniently also contain a reference to the parent structure (Tileset in the case of tiles, Map for everything else) for easy access to functions that require both the data type and its container.
  • Adding documentation to the entire crate!

Of course, there have been a lot of more additions and changes, including new features, bugfixes and everything in between.

For 0.9.5 users it is very recommended that you check out the new examples for porting old code over.

Another important update is that the repository has been moved to the official mapeditor organization and there are now three more maintainers: @aleokdev (me), @bjorn (creator of Tiled) and @PieKing1215.

I'd like to thank @mattyhall for having maintained this crate for the last 7 years and for letting us continue the work of maintaining it, @bjorn for all the code reviews and feedback provided, and of course all the contributors that have joined us and users who have provided feedback and bug reports!

Here's the full changelog:

What's Changed

New Contributors

Full Changelog: v0.9.5...v0.10.0