Added the ability to change grid type in Preferences, and made an isometric cell size value which affects just the size of the cells of the isometric grid. Also updated translations.
I mostly did it so I could move tile mode logic into a new node, so I could have control over the drawing order. TileMode.gd also always draws 8 blank rectangles, which are being drawn on top of the grid, in order to hide it if it gets out of boundaries. We are now very close to implementing an isometric grid, #305.
This shouldn't have much of a performance impact, but some more testing is most likely needed.
Instead of drawing individual lines, execute draw_isometric_tile() multiple times. What this method does is basically draws a single isometric tile, which then gets repeated for the entire canvas size. Also moved all the grid logic to a new script, which gets updated less often that Canvas.gd, for optimization purposes.
Works better than the previous method, although it might be a bit slower, and currently does not work well if the canvas size is not divisible by the grid size. For now, it only gets affected by the grid width. Changing grid height has no effect.
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.
* 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>
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.
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.
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.
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.
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.
* 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>
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
* 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