1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-15 10:13:07 +00:00
Commit graph

515 commits

Author SHA1 Message Date
OverloadedOrama
ebc9eab773 Added dialog with options for desaturation
Not sure if options for RGBA channels are really needed here, but I kept them from invert colors. We could remove them in the future if they are unneeded.
2020-08-01 04:24:11 +03:00
Martin Novák
6f645d996d
Refactor export dialog (#288)
* Split export code from export dialog to Export.gd autoload
Clean access to child nodes of export dialog

* Fix export variables set in Main.gd

* Fix more wrong variable assignments

Co-authored-by: alexhayoo <65853178+alexhayoo@users.noreply.github.com>
2020-07-31 23:26:52 +03:00
OverloadedOrama
2346ca810b Added dialog with options for invert colors 2020-07-31 03:39:46 +03:00
OverloadedOrama
051f3df147 Buttons to reset preferences to default
Similar functionality with Godot's default buttons. The buttons currently aren't visible with the gold & light themes.
2020-07-29 03:16:02 +03:00
OverloadedOrama
f88d201e1a Organized Preferences better
As a result, "General" no longer exists.
2020-07-29 01:54:15 +03:00
OverloadedOrama
ec81950139 Experimental shader feature: Expose shader's float uniforms to the UI
If the loaded shader has uniforms, they will be exposed to the UI, so the users will be able to modify the shader parameters easily. Currently only works with float uniforms.
2020-07-28 04:11:06 +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
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
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
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
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
29e9579eb6 Added basic gradient generation
A new option in the "Image" menu, gradient generation.
2020-07-18 17:23:36 +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
e04b79dd4b Added pattern file name as a tooltip for their buttons 2020-07-13 03:44:08 +03:00
OverloadedOrama
d31509035f Add a "Use ZSTD Compression" checkbox on Save Sprite dialog 2020-07-11 02:09:17 +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
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
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
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
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
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
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
28818171d4 Call Global.dialog_open when a PreviewDialog pops up/gets hidden 2020-06-17 02:58:24 +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
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
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
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