- New, Open and Import now clear undo/redo history
- Crop Image now has undo/redo
- Fixed bug where redo wasn't working properly in multiple frames
Found bug when drawing while animating - undo/redo isn't being registered properly.
Users can now undo/redo when they draw outside the canvas. Release the button outside the canvas, press the button outside the canvas and then bring it inside to draw. All work now. I hope.
- UndoRedo should work with multiple layers and frames
- When pressing right click while left click is being pressed, undo/redo logic is being discarded. It is still buggy, however, when the user holds the right click first and then left click, as well as, when the user holds left click, then holds right click, releases left click and then releases right click.
Started working on UndoRedo. Currently works with basic drawing/erasing/bucket filling as well as the rectangle selection tool, custom brushes and copying/pasting.
May not work with multiple layers and frames and it does not work with the rest of the tools and buttons. Also does not work when pressing both mouse buttons at the same time, or when the cursor is outside the canvas when drawing.
- Mirrored drawing in horizontal, vertical or both axes.
- Fixed bug where the paint all pixels of the same color tool would affect other frames.
- Removed most of the parameters for draw_pixel() - replaced them with "current_mouse_button" instead.
- Paint all pixels of same color tool added. Does what it says.
- Lighten/darken tool. It lightens by default, darkens when user is pressing Ctrl.
- Removed tool variables from main - stored everything in an array instead.
- Fixed issue #9 where custom brushes would get drawn outside of a rectangle selection. They only get drawn inside the selection, just like the normal pixel brush.
- The custom brush cursor indicator (that follows the mouse cursor position) wasn't aligned with the image's pixels. Now it is.
- Fixed small bug when opening sprites. Had to do with has_focus's initial state.
- Removed Main Theme.tres because it was pointless.
- If you had custom brushes in your project and you opened a new one (from a .pxo file), the brushes would stack. Now, the previous brushes get removed.
- Added arrow left and right indicators for the selected brushes.
Also moved blend_image_with_color() to Global and the custom brush image (resized & blended accordingly with the selected color and interpolation factor) is now updated every time something changes (size, color etc) and not every time you draw. This is not true for the eraser, however, as it must be blended with Color(0, 0, 0, 0)
- Added support for custom brushes. When you Ctrl-C a selection, it gets added to the list of custom brushes. Each mouse button can have a different brush, and the user can choose whether their color comes from the brush itself or the selected color in the tool options. They can also be resized based on the selected brush size.
- Custom brushes are also being saved on .pxo files.
- You can now crop images (per frame). All layers of that frame are taken into account and are affected.
- Added split screen support. The user can toggle between single screen and split screen, where a second canvas is being shown. Note that you cannot draw on the second canvas.
- Added an About Pixelorama selection on the new Help menu.
- Project assets are re-organized.
- Rectangle selection can be created and moved outside the canvas
- Added new View menu for Tile Mode and Show Grid.
- When creating a new canvas, you can now choose a color to fill your new image with
- FPS accepts values with up to 2 decimal points. SpinBox's step is changed from 1 to 0.01
- Fixed errors that occured when the user drew outside the canvas, caused by get_pixel()
- Fixed error that occured when the user was pasting an empty image
- Removed point_in_rectangle_equal() and new_canvas()
- New rectangle selection tool. Hold mouse button to create selection, release to finish it. You cannot draw outside of the selection.
- The selection can be moved around, and if Shift is pressed, selected content gets moved too. Currently cannot be moved outside the canvas.
- You can copy the selection with Ctrl + C, and paste it on a new selection with Ctrl + V.
- Added tile mode. Basically draws the canvas 8 more times in all directions.
- Onion skinning for animations. Choose past and future steps and toggle blue-red mode.
- Custom .pxo file. If you save your project as a .pxo file, it remembers all of your frames, their layers, brush sizes, brush colors and color palletes!
- Ping-pong loop type. When the animation finishes, it plays backwards.
- Ability to import new frames in the timeline as additions, without deleting the previous frames.
Current frame label now shows the current frame and the number of all frames. Also, when saving frames as multiple files, the count starts at 1 instead of 0.
v0.2 of Pixelorama is out!
- Added animation timeline. You can add. remove. clone and change order of your frames!
- You can now import multiple images as frames.
- Ability to save individual frames, all frames as multiple files, or all frames as a single file in the form of a horizontal or vertical spritesheet!
- Different frames can have a unique amount of layers and they can be of different sizes.
- Image scaling is now functional.
- Added hints for UI elements.
- A lot of UI changes.