1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-19 09:39:48 +00:00
Commit graph

142 commits

Author SHA1 Message Date
henlo-birb 6fa41000ed added option to hide tool icons next to cursor 2020-01-12 20:41:17 -05:00
OverloadedOrama 50fa262a75 Put default image width and height to 64, made minor changes in the About dialog and in the Chinese translation 2020-01-11 00:29:29 +02:00
Manolis Papadeas 8b4c42a576
Merge pull request #118 from Gaarco/master
Add preference options for the Image: default width, default height, default fill color and their translation strings
2020-01-11 00:21:35 +02:00
OverloadedOrama 5cce9d3180 Changes to the tool options UI
New option for the color picker tool (closes #115 - also includes new translatable strings), VSplitContainer for the tools and their options and a ScrollContainer for the tool options.
2020-01-10 22:44:29 +02:00
Marco 5e49c3eae8 Fix 2020-01-10 20:32:31 +01:00
Marco 7b0251fdfa Image preferences and its translations 2020-01-10 20:24:07 +01:00
Marco cd3814736d Image preferences 2020-01-10 09:06:03 +01:00
OverloadedOrama f57ea4d64f Made "TimelineSeconds" update when FPS value changes
Also made it a bit smaller
2020-01-04 04:16:50 +02:00
OverloadedOrama d42648efe1 Added a Splash Screen popup window
Re-organized transparent backgrounds, removed the Timer from Canvas nodes.
2019-12-31 18:04:00 +02:00
OverloadedOrama ff47ae26c0 Small UI changes 2019-12-31 03:02:53 +02:00
OverloadedOrama 9ba5f6b023 Removed the Remove Palette button
Users can now just delete the .json files if they want to remove a palette.
2019-12-30 20:29:46 +02:00
OverloadedOrama d1e5b23f0b Importing spritesheets is now possible
Moved the import png code from Main.gd to a new ImportSprites.gd script, and made ImportSprites a scene of its own.
2019-12-28 18:35:53 +02:00
OverloadedOrama 87d6d6140b When exporting a png, "Export PNG..." becomes "Export (filename)"
Also updated the translations to simply translate "export". Feel free to fix anything I may did wrong.
2019-12-28 03:07:48 +02:00
OverloadedOrama 5ea4835bb2 Canvas update() is called when undoing and redoing
Also changed "Black & White" to "Desaturation"
2019-12-28 00:57:28 +02:00
OverloadedOrama d6a199c53f Added a new brush type - Filled Circle
Filled Circle brush is just like the Circle brush, but filled. Issue is, when drawing while moving the mouse, some pixels remain unfilled.

Also added some more file brushes.
2019-12-27 22:02:47 +02:00
OverloadedOrama f81ef37e92 Added guide color in Preferences 2019-12-27 02:28:36 +02:00
OverloadedOrama 0c664a34be Fixes #51 2019-12-27 00:04:58 +02:00
OverloadedOrama 3a20b3e073 Added a new brush type - Random Brushes
They're like File brushes, but each time you draw, expect to see something different!

To make a random brush, just put the images you want in the same folder (under the main Brushes folder of course), and make sure their filename starts with "%".

I also changed _process() to _input() in Canvas.gd, so there may be some unexpected behavior.
2019-12-26 21:36:56 +02:00
OverloadedOrama 4a2c0eb291 Added sliders next to spinboxes for the brush color from & LightenDarken amount 2019-12-25 21:42:01 +02:00
OverloadedOrama d4b42534bb Added sliders for brush size & 2 new custom brushes
Also, in Canvas.gd's _draw() method, draw_set_transform() is called again after the circle brush drawings, to reset the transform to its default state.
2019-12-25 21:17:29 +02:00
OverloadedOrama 06e0d74c14 Added proper circle brush - Bresenham's Circle Algorithm
The circle's radius is the brush's size. Respects image/selection boundaries, works with mirror. A special plot_circle() method is found on Global, to calculate the rectangles used by the mouse cursor/position indicator.
2019-12-25 20:27:25 +02:00
Martin Zabinski 7d93e4c076
Fix wrong type to run with Godot 3.2 beta 2019-12-25 03:22:15 +01:00
OverloadedOrama ba4ee3418d Enchanced Layer Opacity UI- Added Spinbox next to Slider 2019-12-25 00:23:45 +02:00
OverloadedOrama ed2e757c11 Layer Opacity - Change alpha of each layer
Added a slider under the layer add/remove/etc buttons that changes the currently selected layer's transparency. It gets saved in .png and .pxo files, while respecting non-opaque pixels in the image too. Which means, their alpha values aren't being overwritten.
2019-12-24 23:51:08 +02:00
OverloadedOrama ea97ec85f8 Added outline generation, under new "Image" menu
You can currently change outline color & thickness
2019-12-24 16:48:07 +02:00
OverloadedOrama 1f2d8406c2 Text under frames and TimelineSeconds color change on different themes 2019-12-24 04:37:17 +02:00
OverloadedOrama bfd64a6b84 Re-organized the right panel, fixed spaces in palette buttons, made AddPalette a TextureButton 2019-12-24 04:28:45 +02:00
OverloadedOrama f4a62f227f Changed transparent background and default clear color for Godot's theme 2019-12-21 05:03:57 +02:00
OverloadedOrama c6ded721d1 Canvas transparent background changes on dark & gold themes
It's also in Global.gd instead of Canvas.gd
2019-12-21 04:56:48 +02:00
OverloadedOrama 8058cf2f55 Button textures change based on their filename and not their node name
Restored layer nodes back to their previous names
2019-12-21 03:27:11 +02:00
OverloadedOrama 23b83c8864 Asset re-organization, added light theme button textures
Most haven't been implemented yet, this commit just adds files
2019-12-21 03:17:37 +02:00
OverloadedOrama f08d6c8708 Layer buttons change depending on theme
2 theme types, dark and light. 2 types of graphics for the layer buttons for each theme type.
2019-12-21 03:02:57 +02:00
OverloadedOrama c3e75496d6 Theme preferences now get saved in the config_cache file 2019-12-20 16:36:23 +02:00
OverloadedOrama 3cf44a6d55 Created basic theme changing under Preferences
Also fixed bug where Global.can_draw wasn't being set to true after PreferencesDialog was hidden
2019-12-19 01:18:57 +02:00
OverloadedOrama 432c9690ff PreferencesDialog is now a scene of its own
We should change the organization of the project, and use multiple saved scenes instead of everything being on Main.tscn.
Also restored "X" as a shortcut for color switch, because that somehow got lost.
2019-12-18 18:12:44 +02:00
CheetoHead 9a65960994 Import palette file dialog added 2019-12-18 09:43:11 -05:00
CheetoHead 18b9480a00 Merge branch 'master' into palette_updates 2019-12-17 19:49:28 -05:00
CheetoHead 3191e3f8c8 Add new palette updates 1 2019-12-17 19:49:20 -05:00
OverloadedOrama 6220ad82bc Frame number labels change color when selected 2019-12-18 00:53:06 +02:00
Overloaded 329099fed4
Merge branch 'master' into palette_updates 2019-12-17 04:07:44 +02:00
OverloadedOrama c9071f30eb Changed brush color interpolation and LightenDarken amount's range from 0-100, instead of 0-1 2019-12-17 04:01:38 +02:00
CheetoHead b094c6595f Added edit palette menu and custom file saving 2019-12-16 20:23:18 -05:00
OverloadedOrama 6c14a7d5e2 Fixed issue where the brush type select popup window chose brush type for the right tool instead of the left 2019-12-16 02:02:49 +02:00
OverloadedOrama f3ab5960ba Imported German translation in the Project Settings 2019-12-15 13:44:53 +02:00
CheetoHead 51e26f6efa Loading palettes from json file in user folder 2019-12-14 22:11:32 -05:00
OverloadedOrama a4b7fe2205 Implemented a fix for UndoRedo leak (#34) - Thanks to qarmin! 2019-12-13 00:19:28 +02:00
OverloadedOrama 1bd8ec4ae0 Added 2 small sprites below the cursor for the selected tools
Instead of having a tool icon as a cursor for the left tool only
2019-12-10 19:56:16 +02:00
OverloadedOrama bf4052ad84 Full Greek support and minor UI changes
Everything should now be translated in Greek. Will update if I have forgotten anything. Also made some changes to the layer and frame button colors and layer position.
2019-12-08 03:12:34 +02:00
OverloadedOrama d81d7ee5ef Grid size and color in preferences, update_texture optimization
- Added grid size and color in preferences
- Canvas' update_texture() updates the frame button's texture only when the user releases a mouse button. This should optimize drawing in large images.
- Cursor is no longer invisible inside the canvas
- Minor UI changes
- Added some more translations. This is going to be a common thing in commits from now on.
2019-12-07 19:34:54 +02:00
OverloadedOrama 5613c3d7ef Overall code re-organizing & layer renaming changes
- When renaming a layer, the line edit grabs the focus. If enter is pressed, it gets invisible. Also fixed positioning and size
- Re-organized the variables in Global, now they are less messy and randomly placed
- Layer, frame & brush textures stretch mode has been changed to Keep Aspect Centered
2019-12-06 01:48:29 +02:00
OverloadedOrama 340af88eb4 Added a mini-canvas preview window 2019-12-05 16:49:27 +02:00
OverloadedOrama 5f72e970c6 Added a custom color picker tool, which allows you to select a color from the canvas 2019-12-04 17:22:21 +02:00
OverloadedOrama dd60f0fc7e Added lighten/darken option and amount for the LightenDarken tool
You don't use Ctrl anymore to switch between Lighten and Darken
2019-12-04 01:01:37 +02:00
OverloadedOrama 700f287edc Added fill area option for the bucket tool - this restores the old "paint all pixels of the same color" tool's functionality 2019-12-04 00:14:14 +02:00
OverloadedOrama 9102614a0c Tool options now hide and appear depending on selected tool
More tool options for the other tools, like bucket, should come soon. The PaintAllPixelsSameColor tool has been removed, as it will be implemented as an option for the bucket tool.
2019-12-03 18:36:28 +02:00
OverloadedOrama 70bd1dde43 Added show rulers & guides in the View menu 2019-12-03 02:30:38 +02:00
OverloadedOrama 5ffd0ecf6a "Brush color from" now invisible when pixel brush is selected 2019-12-03 00:25:22 +02:00
OverloadedOrama a2fdf7c4a5 Changed split screen button icon 2019-12-02 02:04:46 +02:00
OverloadedOrama 3312b8064f Removed left and right brush arrows
- Removed left and right brush arrow indicators completely.
- Fixed bug when removing custom project brushes.
2019-11-30 02:45:45 +02:00
OverloadedOrama 4721a01f2e More UI changes
- Left tool options is now on top of the right tool options.
- Brushes have been removed from the right panel, and have instead become a popup that appears when you press one of the brush type buttons, to choose a brush. The indicators will be removed.
2019-11-30 00:41:34 +02:00
OverloadedOrama 8132c8dcc5 Added hint_tooltip to file brushes
- File brushes now have their file name as their hint_tooltip.
- Changed horizontal & vertical ruler minor_subdivision to 4.
2019-11-25 18:56:53 +02:00
OverloadedOrama e940029979 Fixed crash when choosing "no loop" after looping with 1 frame
Before this commit, if you had one frame in the timeline and clicked the loop button until it went back to no loop WHILE the animation was playing, Pixelorama would crash. Now, if you're left with only one frame, Pixelorama will stop animating. Also updated the loop button's hint tooltip.
2019-11-24 00:52:17 +02:00
OverloadedOrama 224316256c Added guides
- Added horizontal & vertical guides which can be dragged from their respective rulers
- Fixed bug when opening and importing files
2019-11-21 00:11:21 +02:00
OverloadedOrama e895e82a95 Added a seconds ruler for the timeline & changed brushes position 2019-11-20 14:41:02 +02:00
OverloadedOrama 7318db30ab Major UI changes - including new icons!
- New UI icons for the tools, layer and frame buttons.
- Removed clone, remove and move frame buttons. You can now right click on a frame button to do these actions instead.
- Added first, previous, next and last frame buttons to the timeline.
- Added rulers for the main canvas viewport.
- Window size bumped to 1152x648.
- Default FPS is now 6 instead of 1.
- Fill tool renamed to Bucket.
- Mouse default cursor shape for the canvas is the arrow instead of cross.
- Mouse default cursor shape for the mirror and onion skinning buttons is the pointing hand.
2019-11-19 23:23:43 +02:00
OverloadedOrama d66c501b5c v0.4 - Undo/Redo, mirrored drawing, lighten/darken tool and more!
In this commit:
- Added notification labels that appear when the user does an action (for undoing, redoing and saving)
- Fixed symmetry with custom brushes.
- In Main.gd, current_save_path and current_export_path get cleared when the user creates a new drawing or opens one.

v0.4 of Pixelorama is out! Check https://functionoverload590613498.wordpress.com/2019/11/13/pixelorama-v0-4-is-out/ for the full changelog.
2019-11-13 15:45:55 +02:00
OverloadedOrama 17d117a0b1 Finalized Lighten/Darken tool
Lighten/Darken tool now works only once per pixel per mouse press, and it can get mirrored too. Spoiler alert, next commit should be the release of v0.4.
2019-11-12 02:51:47 +02:00
OverloadedOrama e6bd897d1f UndoRedo vol 11 - Remove custom brush has UndoRedo
- Removing a custom brush can now be undone and redone.
- Fixed custom brush symmetry on mirrored drawing
2019-11-11 18:41:43 +02:00
OverloadedOrama b1e8bde3ac Import brushes from folder
- A new type of custom brush has been added, brushes from files! Basically there's a "Brushes" folder where Pixelorama can get brushes from, and, unlike the previous brushes, these are for all projects and are not saved in .pxo files. These brushes get loaded on the _ready() method of Main.gd, and are ignored by Godot.
- There are now 2 containers for the two types of custom brushes. The main pixel brush is with the brushes from files.
- Fixed bug where, if you had selected a custom "project" brush and loaded a .pxo file, the brush would still be selected, causing potential problems
- Fixed bug where you could save a project brush that was completely transparent
- Fixed bug where, if you named a file, some shortcuts would be activated.
- export_presets.cfg is now ignored.
2019-11-11 04:20:09 +02:00
OverloadedOrama e825cc03e5 UndoRedo vol 10 - Add/Remove/Clone/Move Frames now have UndoRedo
- UndoRedo for Add/Remove/Clone/Move Frames
- Set functions for frame changes (both on canvases and Global.current_frame)
- Removed unneeded signal methods and put multiple signals on one method instead (for example, add and clone layer button signals both connect to add_layer())
- Fixed bug where, if you opened a .pxo file with multiple frames, the remove frame button would be disabled.
- Probably other small things that I'm forgetting to mention
2019-11-10 03:25:25 +02:00
OverloadedOrama ec7b2129ff UndoRedo vol 9 - Add/Remove/Clone/Move/Merge Layers now have UndoRedo 2019-11-07 00:12:40 +02:00
OverloadedOrama c535ec801a Rename layers, layers & frames are now toggle-able buttons 2019-11-06 18:39:23 +02:00
OverloadedOrama 40e0978b3f UndoRedo vol 8 - Draw while animating should now work with UndoRedo 2019-11-05 18:19:41 +02:00
OverloadedOrama 8bc0879814 UndoRedo vol 7 - New/Open/Import clear history, Crop has undo/redo
- 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.
2019-11-05 03:14:03 +02:00
OverloadedOrama 18d109f959 UndoRedo vol 6 - Scale Image now has undo/redo 2019-11-04 21:54:39 +02:00
OverloadedOrama 04c3173c4c UndoRedo vol 3 - Fixed bug when user clicked both mouse buttons
Drawing outside canvas needs fixing next in our UndoRedo adventure
2019-11-01 01:41:02 +02:00
OverloadedOrama 513637605c Merge branch 'master' of https://github.com/OverloadedOrama/Pixelorama 2019-10-29 23:25:00 +02:00
OverloadedOrama 7b8c6bbf00 UndoRedo - Unstable with bugs
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.
2019-10-29 23:22:38 +02:00
Hugo Locurcio f407de234b
Remove trailing whitespace and ensure newlines at end of files 2019-10-25 16:39:09 +02:00
OverloadedOrama 38377e1633 Mirrored 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.
2019-10-24 00:34:08 +03:00
OverloadedOrama 420ec63aeb Fixed issue #9 and custom brush cursor indicator position
- 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.
2019-10-03 19:37:31 +03:00
OverloadedOrama eb29cd3268 Brushes now get removed when opening a project, indicators for chosen sprites
- 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.
2019-10-02 21:58:19 +03:00
OverloadedOrama be6f9121ed Fixed bug where the user selected a new color on the pixel brush
Nothing significant, carry on
2019-09-27 20:39:16 +03:00
OverloadedOrama 7ff823f3a5 When a custom brush is selected, it now appears as an indicator at the cursor
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)
2019-09-27 20:05:24 +03:00
OverloadedOrama 4e4a526332 Custom brushes, crop image, split screen, about menu & asset re-organizing
- 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.
2019-09-25 22:59:48 +03:00
OverloadedOrama 62b9278537 Selection can be moved outside the canvas
- 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()
2019-09-19 00:10:23 +03:00
OverloadedOrama 2b710afd3b Added rectangle selection tool, copy & paste selection and Tile Mode
- 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.
2019-09-18 17:47:28 +03:00
OverloadedOrama dd9bfc1c33 Added Onion Skinning & Custom .pxo File
- 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.
2019-09-14 22:55:33 +03:00
OverloadedOrama 4331a0232e Changed current frame label
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.
2019-09-10 12:47:15 +03:00
OverloadedOrama 0058edbc4a Changed frame starting point from 0 to 1
Frame UI now start at 1 instead of 0. Also added a "Current frame:" label.
2019-09-10 02:30:43 +03:00
OverloadedOrama 5781c42821 v0.2 - Animation Timeline & UI changes!
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.
2019-09-10 01:57:46 +03:00
OverloadedOrama f647a42752 Initial commit 2019-08-18 12:28:38 +03:00