0.3.0-beta
deepnight
released this
29 Sep 15:27
·
5515 commits
to master
since this release
0.3.0-beta
App changes
- Group of tiles in auto-layer rules: this new feature allows you to place larger objects (eg. a tree, a big rock, etc.) made of multiple tiles using just auto-layer rules.
- Added Modulo options for auto-layer rules: this allows a rule to only apply every X columns or Y rows.
- Added Checker mode for auto-layer rules: this makes effects like "brick walls" or "Sonic checker effect" possible ;)
- Better hot-reloading: when a tileset images changes on the disk, LEd will automatically remap tile coordinates if the image size changes. This feature now also works to remap auto-layer tiles.
- JSON changes: please check the new JSON_CHANGELOG.md for up-to-date changes to JSON format.
- Fixed image import that failed if the image file was standing on a different drive than the project file.
- Fixed rule
random
function giving identical results for different rules - Fixed a crash while editing rules in pure auto-layers.
- Fixed a crash when Undo history reaches its max (might need more rework).
- Prepared support for Mac & Linux versions
- Minor fixes for Linux builds
- Updated
Samples
- Bug fixes
JSON format changes
BREAKING CHANGE: some cleanup & renaming happened on this update, please check changes below.
Tiles layer
__tileX
/__tileY
were renamed to__srcX
/__srcY
inlayerInstances.gridTiles
. These values are pixel coordinates of the tile in the tileset atlas image.- added
__x
/__y
values, which are pixel display coordinates of each tile.
Auto-tile layers
To support new rule-based group of tiles (eg. "placing a big object using just rules"), some changes were introduced to the layerInstances.autoLayers
structure (see example below):
- Renamed
tiles
toresults
. - Replaced
tileId
fromlayerInstances.autoTiles
with an array calledtiles
. - Renamed
__tileX
and__tileY
in these sections with hopefully clearer names__srcX
and__srcY
. These are still X/Y pixel coordinates of corresponding tiles in the tileset image. - Added
_x
and_y
which are pre-computed pixel coordinates of tile on screen - Please refer to updated doc for more infos: https://deepnight.net/docs/led/json/
Before, in layerInstances:
"autoTiles": [
{
"ruleId": 101,
"tiles": [ {
"coordId": 90,
"tileId": 169,
"__tileX": 32,
"__tileY": 128,
"flips": 0
} ]
}
]
Now:
"autoTiles": [
{
"ruleId": 101,
"results": [ { // <--- Renamed!
"coordId": 90,
"tiles": [ // <---- Now an array!
{ "tileId": 169, "__x": 64, "__y": 8, "__srcX": 8, "__srcY": 112 },
{ "tileId": 181, "__x": 64, "__y": 16, "__srcX": 8, "__srcY": 120 }
],
"flips": 0
} ]
}
]