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

300 commits

Author SHA1 Message Date
OverloadedOrama 8cca37e752 Hid some color picker presets from GradientDialog
And removed some code for setting preview texture flags to 0. The flags are already being set in create_from_image()
2020-07-27 04:47:29 +03:00
OverloadedOrama 94aa94a364 Added a preview in OutlineDialog 2020-07-27 04:36:00 +03:00
OverloadedOrama 4870ebc094 Added checkbox in OutlineDialog for affection selection 2020-07-27 04:11:46 +03:00
OverloadedOrama 062ce664ca Unlock the image before getting its size in generate_gradient()
This *may* solve a rare crash related to memory.
2020-07-25 20:17:47 +03:00
OverloadedOrama 585f83e28a Fixed Invert and Desaturate not working on the correct cel 2020-07-25 19:35:46 +03:00
OverloadedOrama 186e2259ac [EXPERIMENTAL] Added ability to load a shader as an image effect
This new feature allows users to load a .shader file (must be a GLES2 Godot shader) that will modify the image itself. This feature is experimental and possibly buggy, not all shaders are working properly and I'm not sure yet why. As such, this feature may not be included in v0.8 stable.
2020-07-25 16:26:57 +03:00
OverloadedOrama 59122f6a13 Fixed issue in HSVDialog using the wrong selected pixels when affecting all projects 2020-07-24 03:53:24 +03:00
OverloadedOrama 2cb07fb848 Added option to affect all projects in the HSVDialog
HSVDialog should be ready now. These options will also appear in the rest of the image effects.
2020-07-24 03:41:10 +03:00
OverloadedOrama 95ccd42e48 Added option to affect all frames in the HSVDialog 2020-07-24 03:28:39 +03:00
OverloadedOrama 1ce89c6577 Added affecting options to the HSVDialog
First option is to affect the selected pixels only. The second it to affect the current cel, or the entire frame (all cels of the frame). Options to affect all frames and all projects will be added next. I also made changes to Canvas.handle_undo() and handle_redo() to make this work.

Once all these options are added successfully in HSVDialog, they will also be added in the rest of the Image effect dialogs.
2020-07-24 03:22:12 +03:00
OverloadedOrama af915caf7a Refactored adjust_hsv to be 3 times faster
adjust_hsv() now gets executed once instead of thrice. The results should be the same.
2020-07-23 04:39:23 +03:00
OverloadedOrama 46717692ef Fixed mouse filter of the ImageEffects node 2020-07-23 04:38:09 +03:00
OverloadedOrama 462187a6c1 Grouped Image effect dialogs together in Main.tscn 2020-07-23 04:15:18 +03:00
OverloadedOrama c7f50107d6 Fixed symmetry guide being off by one pixel
See https://github.com/Orama-Interactive/Pixelorama/issues/133#issuecomment-662328285
2020-07-22 15:07:02 +03:00
OverloadedOrama d3cb0c2b17 Gave splash screen and camera_zoom() more time to get executed
This should make the splash screen properly centered on HTML5, and the canvas being always fit to frame when the program starts (in all platforms).
2020-07-22 00:11:33 +03:00
OverloadedOrama 8d9e1e8207 Fullscreen can be toggled on and off from the View menu 2020-07-21 22:11:25 +03:00
OverloadedOrama 81f9cb4769 Improved performance for bucket filling after the selected_pixels change
0f82be765e should no longer have any performance issues left now.
2020-07-20 22:45:22 +03:00
OverloadedOrama 6c2b7f7067 Improved performance for drawing after the selected_pixels change
It should be as fast as before, if there's not a big selection.
2020-07-20 22:29:58 +03:00
OverloadedOrama 0f82be765e Replaced the _min and _max Project variables with Project.selected_pixels
This will allow us to create more selection tools in the future, that aren't necessarily rectangular (See #129) and even enhance the current rectangle selection tool (See #56)

Current issues spotted so far:
Drawing is slower for large images, and bucket filling is also considerably slower even on a 64x64 image. Optimizations are required.
2020-07-20 22:15:34 +03:00
OverloadedOrama 8c965c1858 Added ability to change gradient direction 2020-07-18 19:01:24 +03:00
OverloadedOrama 7aee58ec1a Fixed gradient dialog crash
Occurred sometimes when trying to generate a gradient in a different project that has a different size.
2020-07-18 17:29:05 +03:00
OverloadedOrama 29e9579eb6 Added basic gradient generation
A new option in the "Image" menu, gradient generation.
2020-07-18 17:23:36 +03:00
OverloadedOrama 826b4da177 Organized all Dialog nodes in Main.tscn under a parent "Dialog" node
Just to make the scene tree look cleaner.
2020-07-18 02:27:47 +03:00
OverloadedOrama c6bc3d6d05 Change point limit of Guides from 99999 to 19999
This should prevent some bugs where the guide being dragged won't appear. Probably memory issues?
2020-07-16 05:36:17 +03:00
OverloadedOrama 740d7e237d Made Symmetry Guides have dotted lines
Just to make them different from regular Guides
2020-07-16 05:35:31 +03:00
OverloadedOrama a5a8bf1fe5 Turn Symmetry Guides visibility on and off if mirroring is enabled
Also fixed issue with "Show Guides" view menu option and having multiple projects with guides. Only think remaining is to make the Symmetry Guides look different than regular guides. Closes #133.
2020-07-16 05:05:40 +03:00
OverloadedOrama 9fa91ffd8e Added SymmetryGuides
Two special guides - one horizontal and one vertical - that let you change the axis of symmetry for mirroring. On the next commit(s) I will make them visible only if mirroring is toggled on. Almost solves #133
2020-07-16 04:25:59 +03:00
OverloadedOrama 7529e967e3 Selection no longer affects the mirroring point of symmetry
Instead, x_symmetry_point and y_symmetry_point are being used in Project.gd that determine the points of symmetry. This is necessary for #133
2020-07-15 21:23:15 +03:00
OverloadedOrama 70ba60cbaa Have "untitled" be the default project name on save & export 2020-07-15 20:27:14 +03:00
OverloadedOrama ebf19c7bfe Disable "open last project" option in HTML5 2020-07-15 18:36:46 +03:00
OverloadedOrama 8ec3256ce6 Have "untitled" as default project name in SaveSpriteHTML5 2020-07-15 18:28:46 +03:00
OverloadedOrama ea717cfea7 CreateNewImage now remembers the last created canvas size - Closes #178
The default image width, height and fill color are being used only when the program first launches. After that, if the user creates an image with changed settings, these settings are being kept.
2020-07-15 03:25:59 +03:00
OverloadedOrama c6ccbd4868 Import image file as part of a random brush
The random brush gets loaded only if Pixelorama gets restarted. I'll see if I can change this somehow.
2020-07-14 03:33:01 +03:00
OverloadedOrama 1b561220b2 Merge brush_name_replace() and pattern_name_replace() to file_name_replace() 2020-07-13 22:13:21 +03:00
OverloadedOrama 8c02e696a9 Add hint tooltips for Project Brush buttons when importing them from image files 2020-07-13 21:59:25 +03:00
OverloadedOrama c42a8a7219 Same as the previous commit but for Patterns too 2020-07-13 21:57:37 +03:00
OverloadedOrama 72f5ed1d2b When importing a file brush and its filename already exists, add a number to its filename
Similar to 5df25c21c6 but for brushes.
2020-07-13 21:42:40 +03:00
OverloadedOrama 20f28ff492 Import project brushes from an image file 2020-07-13 21:17:08 +03:00
Kinwailo fd3afbfebc
Add overwrite option to pencil. (#282) 2020-07-13 15:10:17 +03:00
OverloadedOrama e04b79dd4b Added pattern file name as a tooltip for their buttons 2020-07-13 03:44:08 +03:00
OverloadedOrama b47685e857 Fixed importing brushes and patterns by opening file 2020-07-13 03:36:42 +03:00
OverloadedOrama d099666abe Fixed transparent background in ResizeCanvas dialog
It was always square, even on non-square image dimensions.
2020-07-11 03:19:52 +03:00
OverloadedOrama d31509035f Add a "Use ZSTD Compression" checkbox on Save Sprite dialog 2020-07-11 02:09:17 +03:00
OverloadedOrama 671536cbd7 Fixed bucket crash when there were no patterns 2020-07-09 15:52:59 +03:00
Kinwailo 4a668f71f5
Refactoring tools (#281)
* Refactoring tools

* Remove unused code

* Fixed some inferring errors and added translations

* Attempt to fix some Script Errors found in the CI workflow

* Fix bucket crash.

* Fix static type convert.

Co-authored-by: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com>
2020-07-09 15:22:17 +03:00
OverloadedOrama e1724148fc Updated translations, Readme & Changelog 2020-07-05 02:24:07 +03:00
OverloadedOrama 0713342c0f Change "err" variable for HTML5 in OpenSave.save_pro_file() 2020-07-05 02:22:48 +03:00
OverloadedOrama 9464c7a953 Importing palettes is now possible in HTML5 2020-07-01 04:48:18 +03:00
OverloadedOrama d02bb52d48 Removed some old code about pen pressure 2020-07-01 03:57:27 +03:00
OverloadedOrama 6e7b3610d0 Workaround for #275 2020-07-01 03:08:50 +03:00
OverloadedOrama 0bc26bbbae Always ensure that directory_path is "user://" on HTML5 2020-06-30 22:36:03 +03:00
OverloadedOrama 7e3436d3ba Loading image files is now possible in HTML5
Had to move some palette png code around in order to make it possible to use these image files as palettes. Hopefully loading .pxo files should be next. Addresses #280
2020-06-30 22:29:24 +03:00
OverloadedOrama 637a60d9ee Saving .pxo files in HTML5 is now possible
Addresses #280
2020-06-30 20:25:43 +03:00
OverloadedOrama a517f9178a Fix png files not being recognized when being exported from the HTML5 build 2020-06-30 18:38:26 +03:00
OverloadedOrama fb7c1a1874 Saving .png files is now possible in HTML5
Addresses #280. Huge thanks to https://github.com/Pukkah/HTML5-File-Exchange-for-Godot
2020-06-30 18:32:16 +03:00
OverloadedOrama 6b26bb5b10 Removed custom blend_rect() method from DrawingAlgos 2020-06-30 15:07:09 +03:00
OverloadedOrama b15e846f29 Replace hardcoded shortcut strings in Global.update_hint_tooltips()
Addresses https://github.com/Orama-Interactive/Pixelorama/issues/273#issuecomment-650149617
2020-06-27 16:01:17 +03:00
OverloadedOrama 41a56eec7a Restore backup system in HTML5
Apparently backups do get stored in HTML5. I did not know that. I'm keeping "open last project" hidden though.
2020-06-25 23:25:46 +03:00
OverloadedOrama b8bdcfbb62 Fix Preferences having "General" always chosen when the dialog pops up 2020-06-25 22:27:08 +03:00
Manolis Papadeas 4f0c0d77c5
Added "Test" GitHub Actions Workflow (#269)
* Remove export_presets.cfg from gitignore

* Create export_presets.cfg

* Create godot-ci-export.yml

* Test DLL copying to artifact

* Test repo cloning and copying files

* Attempt to fix directory paths

* Fix directory paths again

* Remove export paths from export_presets.cfg

* Fix inferring script error

* Attempt to fix script error in Global.gd

This and the previous error in Input.gd only happened in the builds generated by GH Actions.

* Attempting to fix another error in Global.gd

* Checkout with submodules

* Added pixelorama folder to Linux build

And renamed "windows" to "windows-64bit" and "linux" to "linux-64bit" directories.

* Renamed artifacts

* Added emojis to step names

* Emojis for job names

* Removed --recurse-submodules from git clone

* Attempt to copy pixelorama folder to Mac's zip

* Revert previous commit

* Update and rename godot-ci-export.yml to godot-ci-test.yml
2020-06-25 18:18:20 +03:00
OverloadedOrama 8bb1e61d8f If it's HTML5, hide Autosave and Open Last Project options in Preferences 2020-06-25 18:08:39 +03:00
OverloadedOrama 9fbfbc7432 Fix wrong "Export" text changing on the File menu 2020-06-25 05:07:07 +03:00
OverloadedOrama 8230d9de96 Added image size and frame size labels on PreviewDialog
Just to show the image size and the frame size. The latter is only visible if the user chose to import the sprite as a spritesheet.
2020-06-25 01:22:26 +03:00
OverloadedOrama 5ce061d793 Palettes can now be created from the colors of the selected sprite 2020-06-24 20:22:44 +03:00
OverloadedOrama 5df25c21c6 When making a new palette or importing one and its name already exists, Pixelorama will add a number to its name.
For example, "Palette_Name" would become "Palette_Name (2)", "Palette_Name (3)", etc.
2020-06-24 20:02:03 +03:00
OverloadedOrama 90d02ad75b Have the ResizeCanvas width & height values the same as the project's size the first time 2020-06-24 04:02:19 +03:00
OverloadedOrama 89b6e3a989 Added a preview to the Resize Canvas dialog 2020-06-24 03:55:58 +03:00
OverloadedOrama 9362b3486b Added a Center button to the ResizeCanvas dialog 2020-06-24 03:31:44 +03:00
OverloadedOrama fa2dfb6bca Change image offset in Resize Canvas 2020-06-24 03:21:44 +03:00
OverloadedOrama 8e2fe8dac3 Ability to import an image file as a pattern
Also moved some pattern importing code from Import.gd to Global.create_pattern_button()
2020-06-24 00:25:54 +03:00
OverloadedOrama a8de56ed68 Ability to import an image file as a brush
Works only for file brushes at the moment. The image files gets copied into the "pixelorama/Brushes" directory.
2020-06-23 21:59:47 +03:00
OverloadedOrama 31fae924bf Removed import button from splash screen and fixed #265 2020-06-23 17:15:18 +03:00
OverloadedOrama 047561b95a Added options for when importing an image as a new frame or layer
The user can now choose which layer they want the new frame to be, and, similarly, which frame they want the new layer to be when importing an image.
2020-06-22 15:57:42 +03:00
OverloadedOrama 76b7014d84 Added UndoRedo support for importing images as frames and layers 2020-06-21 21:39:16 +03:00
OverloadedOrama 40a01f1da3 Added import image as a new layer of the current project
Just realized that I forgot to add undo/redo support of importing images as new frame/layer, oops. Will fix next.
2020-06-21 21:20:39 +03:00
OverloadedOrama f260971056 Added import image as a new frame of the current project
Will also add a way to let the user choose which layer the new cel of the imported image will be.
2020-06-21 21:02:03 +03:00
OverloadedOrama 597fdbc0c0 Removed ImportSprites dialog 2020-06-19 23:07:56 +03:00
OverloadedOrama 2a2de8ba62 Spritesheet preview lines now work properly for non-square images 2020-06-17 17:56:18 +03:00
OverloadedOrama 2dc94a4896 Import images as palettes for all supported image file extensions 2020-06-17 17:15:51 +03:00
OverloadedOrama 25d9aca0c4 Drag and drop palette files to open them 2020-06-17 16:47:24 +03:00
OverloadedOrama f7cc9a8104 Added ability to import images as palettes 2020-06-17 03:56:46 +03:00
OverloadedOrama 063ea04b4c If imported image size is less than 100px, limit the max value of the spritesheet frames 2020-06-17 03:34:24 +03:00
OverloadedOrama 28818171d4 Call Global.dialog_open when a PreviewDialog pops up/gets hidden 2020-06-17 02:58:24 +03:00
OverloadedOrama 8142647a69 Added Line2D nodes to cut the spritesheet preview
This helps in previewing how each spritesheet frame will look when it will be imported in Pixelorama. Note that this does not work well with non-square images at the moment.
2020-06-16 18:30:01 +03:00
OverloadedOrama 13613703fc Importing spritesheets is possible again 2020-06-16 17:59:56 +03:00
OverloadedOrama 57d4156341 Added a preview dialog that opens every time the user imports an image file
The dialog does not appear on .pxo files. Import options will be added on it soon.
2020-06-13 20:58:43 +03:00
OverloadedOrama 7219a5a274 Added Resize Canvas option to Image menu 2020-06-13 20:22:25 +03:00
OverloadedOrama 53b91a4bf4 Moved image effect code to DrawingAlgos.gd
More specifically, moved scale, crop, invert, desaturate and generate outline code to DrawingAlgos.gd. I am a little worried of DrawingAlgos.gd getting too big though.
2020-06-13 18:57:28 +03:00
OverloadedOrama c6b977d48e Set the main viewport's cursor to be cross, and set it as a custom cursor image
Instead of setting the main arrow as a custom cursor every time the cursor gets inside the viewport, set the viewport's default cursor to be the cross, and change the cross's image once in Global.gd
2020-06-13 18:09:46 +03:00
OverloadedOrama 2e587e3634 Made TopMenuContainer.gd and moved all the menu code there from Main.gd
Main.gd is now easier to read
2020-06-13 17:59:57 +03:00
OverloadedOrama af078d590d Update TransparentChecker's size of all viewports 2020-06-13 15:33:59 +03:00
OverloadedOrama a05f8ac4ab Use Image class' blend_rect method if Godot's version is 3.2.2
https://github.com/godotengine/godot/issues/31124 has now been fixed in Godot 3.2.2-rc1, so we can use Image.blend_rect() instead of a custom method. This makes exporting large images and drawing with large brush sizes a lot faster.

Once Godot 3.2.2 stable is released, the custom blend_rect method will be completely removed.
2020-06-13 15:30:58 +03:00
OverloadedOrama 8064d7b459 Fixed shadowed variables crashes/warnings occurring in Godot 3.2.2-rc1 2020-06-13 15:25:12 +03:00
OverloadedOrama e6aea97f1b The world_2d of the preview viewports is no longer the same as the main viewport's
A "CanvasPreview" Node2D has been added to every preview viewport, where it draws the current frame. This solves #205.
2020-06-12 02:27:21 +03:00
OverloadedOrama 2371238ec0 Removed Import option from the file menu
The "Open" option will handle importing of .pxo files and image files from now on. The "ImportSprites" file dialog node and script are scheduled to be deleted too. Importing spritesheets option will return soon. Next thing I'm going to work on is a preview window that will appear when importing image files.
2020-06-12 01:11:58 +03:00
OverloadedOrama e94e57ea09 Removed canvas.line_2d references from SelectionRectangle.gd 2020-06-11 00:05:19 +03:00
Kinwailo 860173d9a1
Change the line2d to plot line pixel when drawing line. (#260) 2020-06-10 14:19:20 +03:00
OverloadedOrama b0338ab09a Changed structure of .pxo files
The structure of the .pxo files is now consisted of a JSON-structured metadata part, where all the data that can be stored as text are, and a binary part, that contain all the actual image data for each cel and project brush.

This makes it easier for users to understand the .pxo structure, easier to add more changes without having to check versions for backwards compatibility, easier to be opened by third-party apps and it allows us to make an "Export JSON metadata" option, that will export just the metadata in JSON format, without the binary image data.

It's backwards compatible and .pxo files from as far as v0.5 are still supported.
2020-06-10 04:17:39 +03:00
Darshan Phaldesai 49b61db891
Added the ability to draw on Tiling Mode Previews (#259)
Also added hovering brush preview for same
2020-06-09 21:13:34 +03:00
OverloadedOrama 76af8a3214 Change paths in the open/save dialogs when switching project 2020-06-09 20:19:55 +03:00