1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00
Commit graph

1833 commits

Author SHA1 Message Date
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