View Issue Details

IDProjectCategoryView StatusLast Update
00301522.x IDE BugsRoom EditorPublic2019-01-31 14:32
ReporterMike DaillyAssigned ToAlan Savage 
PriorityMediumSeverityC - GeneralReproducibility100%
Status ClosedResolutionFixed 
Product Version2.2.0 
Target Version2.2.2Fixed in Version2.2.2 
Summary0030152: Room Editor: Tile layers with negative offset do not render all tiles
DescriptionDescription: If you create a tile layer and give it a negative vertical offset (ex: -12 y offset), the expected behavior is that the tile grid visible on the IDE will show a little higher, but you should still be able to paint tiles and see those tiles in every cell of the tile map grid shown while in IDE. It is naturally possible that some of the upper tiles are rendered beyond the room our beyond the view on runtime, and that is not the issue here. The issue is the following, regarding lower rows, inside view/room, and I believe it is a bug in IDE:

If the negative vertical offset of a tile layer is equal to or larger than the vertical height of the cells of that same tile layer, then not only the whole tile grid is rendered higher on the screen (expected behavior) but also some of the lowest rows of tiles are invisible/not rendered on IDE. Those rows that are affected by the issue still exist in the IDE, the grid is there, mouse hovering over the affected cells still provides tolltip about the cell's x, cell's y and tile id, but the tiles themselves are not shown while on IDE. Tiles are still painted on those rows (however blindly), including autotiles. On runtime all tiles show fine, including the ones obscured by this issue on IDE, the issue is restricted to IDE.

The number of the lower rows whose tiles are not rendered on IDE beacuse of this issue seems to be directly proportional to the negative vertical offset and the fixed cell height of that tile layer. For instance, in my project I have 5 tile layers, named "Tiles_0" to "Tiles_4". All the tile layers have 24x12 cells and are the size of the room.
"Tiles_0" has no vertical offset, and thus no issue;
"Tiles_1" has -12 of vertical offset. Since the negative offset is lower than tile height, there's no issue;
"Tiles_2" has -24 vertical offset, the tilemap grid is correctly shown 24 pixels higher, but the lowest row of tiles, which are have 12 px of height are not rendered on IDE, but can be painted etc, and show on runtime;
"Tiles_3" has -36 vertical offset, the tilemap grid is correctly shown 36 pixels higher, but the two lowest rows of tiles, which sum 24 px of height, are not rendered on IDE, but can be painted etc, and show on runtime;
And so on
Therefore it seems that a number of tile rows with a total height equal to how much the vertical offset of the layer exceeds a single tile's height, is cut off from rendering on IDE, on the opposite side of the currently defined offset. While it still works on run time, it makes level building harder/impossible after a certain level of offset is reached, and this doesn't looks like intended behavior at all.
TagsNo tags attached.
2.x IDE Found In
2.x Runtime Found In
2.x IDE Verified In2.2.2.390
2.x Runtime Verified In2.2.2.302


Mike Dailly

2018-10-31 11:35


IDE BUG TILE LAYER SCREENSHOT .png (372,610 bytes)

Alan Savage

2018-12-19 15:47

Developer   ~0062307

+ve x/y offsets had the same tile-clipping problem also