* improvements to copy and delete methods
To allow cloning/deleting an array of frames
* formatting
* adapt to the new copy/delete methods
* Update AnimationTimeline.gd
* removed some bugs
* changed old tag behaviour
tags ahead get further by 1 frame on add_frame()
* modified tag behaviour
* formatting
* removed tag interaction
* sync import options (1/2)
* sync import options (2/2)
* resolve format check
* a minor improvement +
some code formatting
* some more formatting
* Some more formatting
...the checks becoming a pain...
* again you guessed it!
CODE FORMATTING
* used checkbutton instead of simple button
* formatting
This makes the initial app load time fast again, as it used to be before the tool logic changes. The code is uglier to read now but it's worth it.
Also optimize update_tool_cursors()
Might be useful for Extensions that add tools and for the future where we allow users more freedom with shortcut binding, including unbinding shortcuts.
Now when making a new tool we only have to set it up in Tools.gd, along with its button and cursor textures and its tool options scene. Previously, we also had to put it in ToolButtons.gd and manually create a button in Tools.tscn
Importing .pck or .zip Godot resource pack files into Pixelorama is now possible. This needs to be documented properly, but here's the basic idea, for now at least. This is super early work and I haven't tested it with a proper extension yet, so all of this could be a subject of change. I tested it with a custom theme extension though and it seems to be working perfectly.
Importing resource pack files, either by dragging and dropping them into the app window or by going to Edit>Preferences>Extensions>Add Extension, copies the files into user://extensions/. Extensions can be enabled/disabled and uninstalled. Uninstalling them deletes the resource pack files from user://extensions/.
The extension project source files need to be in a folder inside src/Extensions/ with the same name as the .pck or .zip file. **This is required for now, otherwise it will not work.** Inside that folder there also needs to be an extension.json file, with a structure similar to this:
{
"name": "ExtensionName",
"display_name": "Extension Name",
"description": "A Pixelorama extension",
"author": "Orama Interactive",
"version": "0.1",
"license": "MIT",
"nodes": [
"ExtensionExample.tscn"
]
}
The `nodes` array leads to the packed scene files with the nodes that are to be instantiated. **The root nodes of these scenes need to have the same name as the .tscn files they belong to.** The scripts of these nodes should have _enter_tree() and _exit_tree() methods to handle the extension enabling/disabling (or even uninstalling) logic. Note that .json files need to be included in the export options while exporting the extension from Godot.
Enabling an extension means that the scenes found in the extension.json's "nodes" array get instantiated, and disabling gets rid of these nodes from Pixelorama's SceneTree.
Use a Preference class instead of a nested array. Lines of code reduced from 461 to 330. Also fixed a minor bug in the Web version where, when the user changed language, "Interface" was being selected instead.
* Get same color pixels shader (#2)
* Replace same color pixels bucket code with a shader
* Add pattern fill
Co-authored-by: novhack <42614907+novhack@users.noreply.github.com>
* formatting
* some minor changes and fixed a bug
* added similarity feature
* formatting
* Update Bucket.gd
* added similarity feature in shader
Co-authored-by: novhack <42614907+novhack@users.noreply.github.com>
* ShaderVision Funcionality
* reference to ShaderVision
* Greyscale shader
* A minor code improvement
* decided on a checkbox
* decided on a checkbox
i foresaw the earlier implementation isn't required so i decided on a checkbox
* removed unneeded code
* reverted a mistake commit
* Update TopMenuContainer.gd
* Precieved Brightness
Changes "Indicators" to "Cursors" and adds options that let the user use the native mouse cursors of the OS and toggle the cross cursor on or off for the canvas
This fixes the issue with the timeline UI nodes affecting the rest of the panels if the timeline becomes too small. Kind of an ugly fix because there can now be two scrollbars visible if there are many frames, eventually we may need to redesign the timeline.
* Some Popup changes and added self awareness
start/end is automatically determined by selected cels boundary
* Update FrameTagDialog.gd
* some more code formatting