Move tool alters and compresses pixel placement on canvas, undo doesn't undo it (resolved for v8.b8)

Setup:

  • Tilemap project
  • Pick/place Tiles mode
  • Sync mode is off

Reproduce:

  1. Using the move tool, drag the pixels in the canvas.
  2. Instead of the usual behavior where the pixels were just moved in the canvas. You will observe that the pixels were rearranged.
  3. Try to undo. You’ll find that the altered, compressed pixels on canvas would stay in place. Basically, it didn’t undo.

In the later parts of this demo, when you see the cursor flickering with the circle ‘loading’ icon, i was trying to undo the change made:

move-tool-corruption-undoable

** Additional notes:
I’m not sure if my ‘compress’ description is correct. More like it reverted all the pixels on the tiles involved to it’s previous state some couple of history states ago.
What’s strange is, since i can’t undo it. I restarted PMNG so i wouldn’t save what it did when it altered the painted pixels by itself. Like it remembered what i thought was supposed to be freed from memory.
The demo above is made after a couple of program restarts. I didn’t restart the machine yet.

PMNG v8.b7

Can’t duplicate :frowning: Would be great if you could send the project file to me.

Thanks Jan! Project file sent.

Real strange. I tried doing it with the other layers and for some, instead of rearranging the pixels - it altered it’s color. But same thing, after an alteration, the change is undoable.

What I can duplicate now is not a compression of the pixels but when finalizing the movement then the moved elements vanish. Maybe it’s connected. Will check and fix.

Fixed with V8 beta 8. Although I was not able to duplicate the problem like in you your screen recording, the following basically happens:
You have “Sync mode off”.
That means, the tiles in the tile map do not represent the pixels on the canvas until you enable sync mode again.
The portion you move has tile map data set and the corresponding tiles in the tile set (which is not in sync) look like this:
image

Now the bug comes in. When now moving the pixels in tile place mode then accidentally the sync mode being off was ignored. The tile data of the map has been moved and re-rendered after finishing movement. The corrent way is: being in sync mode → only move pixels and not tile map data.

Thanks, Jan!

Looking forward to testing it out. It seems to be an issue coming about since I’m ignoring and not utilizing the capabilities of the tile set window. I have that window closed and out of sight.

Not sure if it addresses the issue that happens in the helmet layer though. Where instead of altering the location of the pixels, it alters the colors of all the pixels it moved.

Yes, it’s the same thing. The helmet tiles in the tile set are the ones that show after movement.

1 Like