* Drastically changed an old func()
"open_image_as_spritesheet_layer" (Hope i didn't break anything...)
* removed whitespace
* some minor changes
spritesheet "Start frame" no longer restricted to existing frames number
and a minor UI change
* solved some format errors
Removed the "frame_container" property from Layer.gd, which used to hold a reference to a node, leading to orphan nodes being created and never freed. Memory management seems to be working okay now. Previously, every time the user made a change, memory kept going up and never coming down. Now, data that can never be recovered, like undo data that have been rewritten in history, are also removed from memory.
Now inherits from ImageEffect and uses a ShaderImageEffect to generate the image. We get to clear duplicate code that was shared between ShaderEffect.gd and ShaderImageEffect.gd this way, and it also uses the undo/redo logic from ImageEffect instead of Canvas.gd.
As a way to differentiate between public and private methods, as per the official GDScript naming convention. Haven't changed all of the codebase yet, just some scripts that had a lot of public methods. This fixed 4 of the 7 errors of the linter.
* better onion part (1/3)
changed code and added scripts
* better onion part (2/3)
added some onion variables
* better onion part (3/3)
Added to onion dialog
* removed whitespace that gave static error
* gdformat .
* Lint code - Part 1
* Format code - Part 2
* Lint code - Part 2
Trying to fix the max allowed line length errors
* Add normal_map_invert_y to the image .import files
Because of Godot 3.4
* Do not call private methods outside of the script's scope
Lint code - Part 3
* Format code - Part 3
* Fixed more line length exceeded errors - Lint code Part 3
* Export array of licenses - Lint code part 4
* Clean hint_tooltip code from Global
Removes a lot of lines of code
* Create static-checks.yml
* Fix FreeType's license
The idea is to make the project less dependant on Global. Global should strictly be used for reusable code in multiple places, not as a second Main. I just hope I'm not breaking anything during this process.
* Symmetry guide color work
* Changed to semi-transparent guides from red, blend slight blue into symmetry guides for variation
Co-authored-by: MrTriPie <MrTriPie>
* Animation tag fix (a)
fixed tag behavior in "Project.gd"
* Animation tag fix (b)
fixed tag behavior in "AnimationTimeline.gd"
* Animation tag fix (c)
fix top part of line not visible
* Animation tag fix (d)
a fix i forgot about earlier
* added a randomizer...
... to auto select colors of new tags
* Fix Tag scrolling without cels when scrolled on it
* removed randomize() cause it's not needed
* Open/Save Sprite Dialogs now have their directory cached so when reopening Pixelorama they will be set to that directory. Load last project and load recent project also syncs with the open/save dialogs and caches that directory
* Sets a projects default file path to the cached file directory (not sure about) and if the export directory is blank, use the cached file directory
* Changed 'file_dialog_dir' to 'current_dir'
Co-authored-by: MrTriPie <MrTriPie>
* Added a timer to filter out useless values
This timer will determine if you actually want to view these changes or just want to skip ahead
* a live preview checkbox
* Some dialog improvements
* Minor changes/adjustments
* Fix for multiple cel selection issue
Now it will only apply selection to the selected cels that are **visible and unlocked**
* Fix for loss of selection data
This will hopefully fix the selection data loss on toggling layer buttons
* Tweak right side panels to use less empty space
* Add fake grabber to tools panel. Add a bottom margin. Fix a few issues with resizing.
* Fix tallscreen mode. Set a bit smaller animation timeline min height.
* Change Preferences visibility settings
* Update Main.tscn
* Fix crash when changing to tallscreen and then switching themes
Co-authored-by: Manolis Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
Not sure if this actually solves the issue or just makes it more rare, but I haven't been able to reproduce any PoolVector locking issues so far. The problem was that images were remained locked essentially all the time, which seemed to cause issues. Maybe other PoolVectors could not get locked?
Does not work with rotation. It might be a good idea to replace this whole system with one that uses a transformation matrix, to handle rotation and skewing more easily in the future. I'm not a huge fan of this current code.