Manolis Papadeas
ea78114fb2
[skip ci] Update README.md
2022-03-13 21:16:09 +02:00
Manolis Papadeas
5d3963d495
Make panel tabs always visible if there are 2 or more tabs in a single panel
2022-03-12 20:46:17 +02:00
Manolis Papadeas
6d641259d5
Make it possible for extensions to add menu items
...
With metadata
2022-03-11 01:59:12 +02:00
Manolis Papadeas
f2a24aaffd
Set grayscale vision node properties instead of in code
2022-03-11 01:48:50 +02:00
Manolis Papadeas
5995788ef7
Update donors & translators
2022-03-11 00:45:48 +02:00
Manolis Papadeas
c00aac944e
Translate the panel tab names
2022-03-10 19:17:28 +02:00
Emmanouil Papadeas
c374e5805e
New Crowdin updates ( #638 )
...
* New translations Translations.pot (Russian)
* New translations Translations.pot (German)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Korean)
* New translations Translations.pot (French)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Danish)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (German)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Korean)
* New translations Translations.pot (French)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Danish)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Korean)
* New translations Translations.pot (French)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Danish)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Korean)
* New translations Translations.pot (French)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Danish)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Korean)
* New translations Translations.pot (German)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Vietnamese)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Chinese Simplified)
* New translations Translations.pot (Chinese Traditional)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Dutch)
* New translations Translations.pot (Indonesian)
* New translations Translations.pot (Latvian)
* New translations Translations.pot (Hindi)
* New translations Translations.pot (Esperanto)
* New translations Translations.pot (Malayalam)
* New translations Translations.pot (Sinhala)
* New translations Translations.pot (Polish)
* New translations Translations.pot (Korean)
* New translations Translations.pot (French)
* New translations Translations.pot (Czech)
* New translations Translations.pot (Turkish)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Afrikaans)
* New translations Translations.pot (Arabic)
* New translations Translations.pot (Catalan)
* New translations Translations.pot (Danish)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Finnish)
* New translations Translations.pot (Hebrew)
* New translations Translations.pot (Hungarian)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Japanese)
* New translations Translations.pot (Romanian)
* New translations Translations.pot (Greek)
* New translations Translations.pot (German)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Italian)
* New translations Translations.pot (Greek)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Ukrainian)
* New translations Translations.pot (Korean)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Spanish)
* New translations Translations.pot (Russian)
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (Serbian (Cyrillic))
* New translations Translations.pot (French)
* New translations Translations.pot (French)
* New translations Translations.pot (French)
* New translations Translations.pot (French)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Portuguese)
* New translations Translations.pot (Portuguese, Brazilian)
* New translations Translations.pot (Swedish)
* New translations Translations.pot (Norwegian Bokmal)
* New translations Translations.pot (Norwegian Bokmal)
2022-03-08 23:09:40 +02:00
Manolis Papadeas
294738e48a
Disable "From Current Palette" preset option when creating a new palette, if there is no current palette
...
Fixes #659
2022-03-07 19:33:23 +02:00
Manolis Papadeas
07473bea95
Update UI.gd
2022-03-06 00:15:25 +02:00
Manolis Papadeas
1ae9f41dc7
[skip ci] Update CHANGELOG.md
2022-03-05 18:17:34 +02:00
Manolis Papadeas
6b02442201
[skip ci] Use the old release naming scheme and fix Windows itch.io builds not having the pixelorama_data folder
2022-03-04 21:32:40 +02:00
Variable
57ea4d25f1
Draw optimizer ( #657 )
...
* draw optimizer
* improvements
* some memory improvements
don't think this one's needed but doing it just in case...
* formatting
* add limit change with brush
* fixed a small bug
cache was being kept when frames were changed
* formatting
* change `_cache_limit` on changing `_brush_size`
2022-03-03 14:54:27 +02:00
Manolis Papadeas
ce026395df
Remember layout on app exit
2022-03-02 00:41:22 +02:00
Manolis Papadeas
2f9de65805
Zen mode no longer makes invisible elements visible again
2022-03-02 00:01:28 +02:00
Manolis Papadeas
175eb0b250
Set minimum size in tools, tool options and timeline
2022-03-01 21:39:07 +02:00
Manolis Papadeas
da34f0ae7b
Center the global tool options
2022-03-01 02:16:53 +02:00
Manolis Papadeas
092ddc0a7a
Fix crash when we change a non-existant texture in a TextureRect
...
This should never happen, but just in case.
2022-02-28 20:40:13 +02:00
Manolis Papadeas
cce9161122
[skip ci] Update CHANGELOG.md
2022-02-28 20:39:21 +02:00
Manolis Papadeas
68414f5bd9
Made pixel perfect into a global tool option
...
More global tool options will most likely be added soon, most notably tablet pen pressure sensitivity options.
2022-02-28 19:24:14 +02:00
Manolis Papadeas
b316cadfb8
Separate global tool options from the color pickers
2022-02-28 18:59:30 +02:00
Variable
bec30112f6
improvements to copy\delete methods and (some) tag workflow ( #648 )
...
* 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
2022-02-28 03:31:17 +02:00
Manolis Papadeas
e05ee53839
Fix mirror button textures having the opposite file name
2022-02-26 19:50:43 +02:00
Variable
de2d7b7748
A simple id for extensions ( #653 )
...
* A simple id for extensions
A simple id system for extensions using the benefit of groups
* formatting
2022-02-26 16:14:13 +02:00
Variable
906123bab1
Sync import options ( #624 )
...
* 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
2022-02-25 16:08:11 +02:00
Manolis Papadeas
8e126c3bab
Load shaders by dragging and dropping and support hint_range values
...
This is for the experimental shader feature, which isn't exposed to the user yet.
2022-02-24 03:38:13 +02:00
Manolis Papadeas
d4373a680b
Use preload on the tool scenes again
...
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()
2022-02-23 00:10:16 +02:00
Manolis Papadeas
63a9f2485c
Support tools that don't have shortcuts
...
Might be useful for Extensions that add tools and for the future where we allow users more freedom with shortcut binding, including unbinding shortcuts.
2022-02-22 23:38:47 +02:00
Manolis Papadeas
77f598d969
Added remove_tool() method in Tools
...
May be useful for extensions that add new tools
2022-02-22 02:58:52 +02:00
Manolis Papadeas
4d3cb86800
Change the look of the mirror buttons
2022-02-21 20:04:39 +02:00
Manolis Papadeas
200d1c73a1
Add a clear_color property to the themes
2022-02-21 18:44:46 +02:00
Manolis Papadeas
add9ba926e
Remove pre-set tool button nodes, tool setup now being done only in the Tools singleton
...
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
2022-02-21 18:02:02 +02:00
Manolis Papadeas
5bf9da243f
Add the Extensions parent node to Main.tscn
2022-02-21 15:46:08 +02:00
Manolis Papadeas
8d0418fe21
Don't do anything if the user adds an already existing extension
...
The .pck file gets replaced but changes will only be visible on app restart, as there's no way (I think) to unload and then reload the .pck file.
2022-02-21 03:33:05 +02:00
Manolis Papadeas
375f3d4cb6
Implement a basic extension system
...
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.
2022-02-19 03:21:08 +02:00
Manolis Papadeas
bafcb2620a
Tidy up preferences code
...
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.
2022-02-18 01:47:05 +02:00
Manolis Papadeas
d37d3c5d3d
Even more theme code tidying
2022-02-17 20:57:54 +02:00
Manolis Papadeas
71dcb9807d
Theme code cleaning and tidying
2022-02-17 20:36:10 +02:00
Manolis Papadeas
290e8cdb18
Remove mirror nodes from the tool scenes
2022-02-17 16:12:07 +02:00
Manolis Papadeas
93622d5761
Mirroring buttons now affect both left & right tools
2022-02-17 16:07:03 +02:00
Manolis Papadeas
9e7748d2ec
Fix rare issue where the splash screen never appears and the program is unresponsive
2022-02-17 15:22:34 +02:00
Manolis Papadeas
8b53773d2d
Split View menu into View and Window menus
2022-02-17 00:54:09 +02:00
Manolis Papadeas
a7110e4be4
Change documentation shortcut to F1
...
F1 is commonly used for help in most software.
2022-02-17 00:28:23 +02:00
Manolis Papadeas
e0d2393eb2
Fix crash when importing .tres files that are not palettes
2022-02-16 18:23:32 +02:00
Variable
008683a33a
Novhack fill shader ( #649 )
...
* 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>
2022-02-16 00:15:53 +02:00
Manolis Papadeas
196c5c2d5d
Make the second canvas a separate panel and have it hidden by default
2022-02-15 01:48:49 +02:00
Manolis Papadeas
a29aadd519
Use deferred mode for gradient color pickers - Closes #645
2022-02-14 15:37:18 +02:00
Manolis Papadeas
88578fe260
Set the min size of the tools to be a bit smaller
2022-02-13 00:12:47 +02:00
Manolis Papadeas
d26d1e294b
Fix cursor always being a cross on the canvas even if it's toggled off
2022-02-12 04:25:08 +02:00
Variable
f7e866e9cb
Shader vision - Grayscale view ( #646 )
...
* 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
2022-02-12 00:47:26 +02:00
Variable
25fd6026be
Move Guides without moving mouse outside canvas ( #647 )
...
* guide movement enhancement
* Gave more access to pan tool
* Update Guide.gd
* Update Guide.gd
* Update Tools.gd
2022-02-11 03:16:33 +02:00