Version 2.0.1


Pretty Printing!

Godot_v4 3-stable_win64_24-09-20_01-37

This new logging system helps provide more clarity over the import process and makes tracking down issues easier.

Version 2.0.1 delivers some exciting new features (like this!), paired with a generous serving of some breaking changes.

Updating

  • TileSet resources have a new filename signature tileset_{grid_size}px.res to help preserve your existing TileSets.
  • Import Flags have been changed which can potentially invalidate pre-existing import settings.
  • Please make backups of your project before updating.

What's New

  • TileSets have been rewritten to offer more functionality, with many bugs fixed
    • Overlapping tiles and mismatched tile/grid sizes are now supported. (#12#20#21)
    • Flipped tiles no longer generate alternative tiles (now using the new method in Godot 4.3) (#14)
    • TileSets are created for each unique grid size, creating duplicate TileSetAtlasSources only if the same tileset is used for different grid sizes
    • Many bugs fixed related to Tile Custom Data and Tile Custom Enums (Thanks to @KarryCharon)
  • LDTKLevels can be packed and saved as Scenes (better now)
    • Bugs fixed related to ownership of child nodes (especially instantiated scenes from post-import scripts) (#10)
    • EntityLayer Post-Import now works correctly when Pack Levels is ON (#32)
  • Import Flags have been tweaked
    • Separate_World_Layers has been renamed to Group_World_Layers
    • Added Layers_Always_Visible flag. Default: OFF.
    • Added Integer_Grid_Tilesets flag. Default: OFF.
    • Added Resolve_EntityRefs flag. Default: OFF (this feature is now considered experimental)
    • Pack_Levels is now ON by default
    • Force_Tileset_Reimport has been moved under the Debug category
  • Post-Import hooks have been reworked, and are now performed in a more logical step of the import process
  • 'Point' Fields are parsed as Vector2i instead of Vector2
  • Changes to Components
    • LDTKWorld nodes now track when LDTKLevel children have been added.
    • LDTKLevel position has been moved to a new export variable world_position. Individual Level Scenes are now always positioned at (0,0) rather than their world position previously
    • LDTKEntityPlaceHolders now support displaying Tiles (as Sprite2Ds) - matching their look in the LDTK Editor
  • New pretty messages
    • Set verbose_output to ON for a more in-depth summary
    • Performance is measured and displayed in milliseconds, giving a breakdown by category where the importer spends the most time doing work (spoiler: it's mostly saving out resources)
    • New error/warning messages have been added when issues are detected within the LDTK file (null tilesets, unreachable file paths, etc.)


Issues

  • Resolve_EntityRefs still has inconsistent behaviour
    • If Pack_Levels is ON, then 'internal' EntityRefs can resolve. However, Godot displays an annoying error message Parameter "common_parent" is null when it cannot resolve (e.g. when pointing to an entity outside the level)
    • If Pack_Levels is OFF, then all EntityRefs can be resolved.
    • For those relying on EntityRefs in a bigger project, it's currently recommended to set Resolve_EntityRefs to OFF and write your own system for handling references. For example, creating an Autoload script that stores Dictionaries of EntityIids and EntityRefs.
  • Still investigating an issue where TileSets and Scenes sometimes do not force-update properly after reimporting (Reload Project is required)

Files

ldtk-importer_v2_0_1.zip 35 kB
84 days ago

Get LDtk Importer

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.