1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-07 10:59:49 +00:00
Commit graph

71 commits

Author SHA1 Message Date
Manolis Papadeas 881e53dadc
Bring refactoring changes to master (#253)
* Refactoring image_menu_id_pressed method in Main.gd (#243)

* Refactoring image_menu_id_pressed method in Main.gd

I've moved the code from each "match" case into a seperate method to make it more readable.

Co-authored-by: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com>

* Refactoring Main.gd. Mostly cutting big methods into smaller ones. (#244)

* Refactoring Main.gd. Mostly cutting big methods into smaller one.

- Reduced size of _ready method in Main.gd
- Moved code from certain parts of old _ready method into seperate methods
- Fixed the translation bug related to CurrentFrame node in TopMenuContainer scene. The CurrentFrame node wasn't updating the language when I was changing language. I've also changed the translation file for this.
- Fixed Global.palette_option_button.selected related warning. Because of some unknown reasons, git didn't push completed line there.
- Moved code from file_menu_id_pressed and view_menu_id_pressed method in Main.gd to separate methods to make it more readable.

* Removed window_title changes from Main.tscn

Co-authored-by: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com>

* Fixed TextureRect images of the circle brushes in BrushesPopup

They all had the pixel brush image in their TextureRect

* Split code from PreferencesDialog.gd to HandleLanguages.gd

Also moved PreferencesDialog script & scene to src/Preferences. More Preferences code splitting will follow.

* Split theme related code from PreferencesDialog into HandleThemes.gd

* Moved shortcuts code from PreferencesDialog

* Created DrawingAlgos.gd and moved a lot of drawing code there

Moved code from Global.gd and Canvas.gd to DrawingAlgos.gd. Will also move the fill_gaps and draw_brush methods of Canvas.gd next. Maybe even refactor the inside of them a bit to make them easier to read.

* Connected "files_dropped" signal to a method

This lets the user drag and drop files into Pixelorama, while it runs, to open them. This doesn't work properly and will crash when it can't open the files. It will get merged into master soon.

* Renamed handle_running_pixelorama_with_arguments() to handle_loading_files()

handle_loading_files() is also used for _on_files_dropped()

* Moved draw_brush() and fill_gaps() from Canvas.gd to DrawingAlgos.gd

draw_brush() is currently very ugly and probably needs inside refactoring

* Removed coord clamping from fill_gaps()

This should make line making behave as expected when the mouse is outside of canvas boundaries

* Drawing is no longer limited by the canvas boundaries

his means that, if you have a brush largen than 1px, you can draw on the edges of the canvas. All pixels that are being drawn outside of the canvas will still have no effect.

* Use enums instead of strings for tools

This could be a slight increase in performance

* Fixed line making with Shift and don't let color picker pick colors outside of canvas

* Changed Global node variables to arrays for left/right

Instead of having 2 variables for left & right nodes, use an array instead. This will help with better looking code, automation and less repetitive code, as seen in ToolButtons.gd. Move related refactoring will follow.

* More Global left/right variables became Arrays

Global.update_left_custom_brush() and its right counterpart have also now become Global.update_custom_brush(mouse_button : int)

* Use Global.Mouse_Button instead of strings for comparison

This should be a slight increase in performance

* Refactoring perferences dialog (#251)

* Added ItemList to themes

* Language and theme checkboxes are now radio buttons

* Even more Global left/right variables became arrays

ColorAndToolOptions has now the same code for left and right tool options, with more similar refactoring coming soon to places like Canvas and DrawingAlgos

* Refactored Canvas.gd

* Refactored DrawingAlgos.draw_brush(), made draw_pixel() method

This also fixes alpha blending and lighting/darkening issues when drawing pixels with mirroring.

* Remove draw_pixel(), use draw_pixel_blended() instead

* Ignore warnings

I don't know what else to do about them, they seem trivial anyway

* Use enum instead of strings for Global.theme_type

Another potential small performance boost when changing themes.

* Use a new Layer class to handle layer information

This replaces the old Global.layers nested array mess, and makes the code easier to read and to understand.

* Fixed linked cel crash and layer naming

* Created a new Cel class, to handle cel information

Like the Layer class, it is used in place of Canvas.layers nested array mess. It hasn't been tested thoroughly yet, so there may be crashes.

* Fixed issue where if you moved a frame to the start (move left), it was invisible

* Added AnimationTag class

Replaces nested Global.animation_tags arrays. Also replaced array.duplicate(true) with looping through the array and creating a new class for each array element, because duplicate(true) does not create new classes, unfortunately, which was causing issues with undo/redo.

Co-authored-by: Igor Santarek <jegor377@gmail.com>
Co-authored-by: Kinwailo <lokinwai@gmail.com>
2020-06-02 20:00:18 +03:00
OverloadedOrama a3ec615b0a Updated splash screen - Added Wishdream's art
Congratulations to Wishdream for being the winner of the first splash screen art contest in our Discord server.
2020-05-15 16:20:23 +03:00
OverloadedOrama 7361e01b1d Added forgotten translations, bumped version to rc3 and small dialog UI changes 2020-05-11 20:07:16 +03:00
OverloadedOrama e1142212fd Changed the way Pixelorama's version is being split when loading a .pxo file
The old way weren't causing any issues, but it would have caused with double-digit version numbers. Also fixed backwards compatibility issue with 0.6.2 and previous versions.
2020-05-09 22:58:09 +03:00
OverloadedOrama 61fab1a7de [BREAKS COMPATIBILITY WITH GODOT <=3.1.1] Implemented Indonesian & Czech languages
Pixelorama now requires at least Godot 3.1.2 or 3.2.x to work, because TranslationServer.get_loaded_locales() was not included in older versions. If you're using an older version of Godot, please update. Godot 3.2.1 is the currently recommended version, until 3.2.2 is out.

Also updated the list of the translators.
2020-05-05 14:45:16 +03:00
OverloadedOrama 2f1e012b6a Fixed Windows and macOS native icon paths 2020-05-05 04:24:29 +03:00
Manolis Papadeas 1ad1ecb960
Asset renaming (#225)
* Renamed the Asset folder and subfolders to lowercase

* Fixed font loading issue

Co-authored-by: OverloadedOrama <manoschool@yahoo.com>
2020-05-05 03:53:58 +03:00
OverloadedOrama 9482b47825 Changed Palette and Layer TextureButtons into Buttons, massive asset renaming
Most asset filenames are now in snake_case
2020-05-03 03:13:08 +03:00
OverloadedOrama 28de4d56f6 Added "icons" and "splash_screen" folders into Assets/Graphics
Moved all the relative assets there, including the icon files which no longer are on the res:// folder. The main page of the repository should look much cleaner now.
2020-05-02 01:34:55 +03:00
OverloadedOrama c35e4b0613 Created a "UI" folder in src
And a Timeline folder in UI
2020-05-02 01:19:01 +03:00
OverloadedOrama 646fc19a70 Merged "Scripts" and "Prefabs" folders into "src"
Made a new "src" folder that will contain the source code files, like all the GDScript and scene files. Please read this for more details: https://www.gdquest.com/docs/guidelines/best-practices/godot-gdscript/

It made no sense to keep scenes separate from their scripts. More file organizing will follow soon.
2020-05-01 22:17:05 +03:00
OverloadedOrama 0ad8cc64cc Added timeline button events to the input map & some dark theme changes
You currently cannot change the bindings of the timeline buttons, but now that they are in the input map, it should prevent the shortcuts from being bound elsewhere.
2020-05-01 18:40:16 +03:00
novhack 840b83fee7 Add color switch shortcut to preferences. 2020-04-15 20:52:20 +02:00
OverloadedOrama 21dd3f2e2d Added a zoom tool
Makes it easier to zoom for people with tablets and touch screens in general
2020-04-13 05:07:52 +03:00
novhack 237b8c1507 Move open/save related code to a separate file. 2020-04-09 22:54:05 +02:00
novhack e6233a37d5 Add shortcuts binding to preferences. 2020-04-08 00:57:37 +02:00
novhack e8c6025c46 Add gif export plugin and extend export dialog with GIF animation support. 2020-04-06 18:51:47 +02:00
OverloadedOrama 4bfe199cf0 Changed default and min window sizes
The new default window size is 1280x720, and the new minimum window size is 1024x576.
2020-04-05 00:45:19 +03:00
OverloadedOrama 81f5fd52f4 You can now zoom in with the + key, and zoom out with -. 2020-03-29 18:26:02 +03:00
OverloadedOrama d974d3f76a Implemented Esperanto 2020-03-25 04:42:03 +02:00
OverloadedOrama 0619d0e1ad Opening and saving .pxo file should now work
This should be all of the functionality restored. This commit makes the branch stable, in theory.
2020-03-07 16:43:28 +02:00
OverloadedOrama ef9e906f19 Added Latvian translation
Closes #150
2020-02-11 16:03:25 +02:00
OverloadedOrama 93833ba06a Added Chinese Simplified 2020-02-08 00:10:33 +02:00
OverloadedOrama df085175ac Pixelorama now uses Godot 3.2
There shouldn't be any compatibility issues with 3.1 right now. This commit also closes #26
2020-01-29 19:03:26 +02:00
OverloadedOrama 14900ed5ab Remove custom brushes with the middle mouse button
And made the "X" button on the custom brushes a little smaller. Partially addresses #132
2020-01-28 00:22:04 +02:00
OverloadedOrama 6e198c6c60 Imported Spanish translation in the project settings 2020-01-22 20:20:58 +02:00
OverloadedOrama 2f61890a40 Updated imported translation files in the Project Settings 2020-01-21 23:03:42 +02:00
OverloadedOrama 48e871586c Added space for panning - Closes #110 2020-01-09 20:49:27 +02:00
Manolis Papadeas 77a55f2495
Merge branch 'master' into master 2020-01-08 17:01:59 +02:00
Marco fc1a30f12a Italian translation 2020-01-08 14:45:50 +01:00
OverloadedOrama 5a43bf33ee Added a VSplitContainer for Palettes and Layers 2020-01-08 01:41:46 +02:00
Hugo Locurcio 085b42a036
Use the 2D framebuffer allocation
This results in slightly increased performance and decreased
CPU/GPU usage.

This also prevents the "Directional shadow buffer status invalid" error
message from appearing in the console output when using a very old
graphics card.
2020-01-06 00:35:42 +01:00
OverloadedOrama fa3b2f649b Delete the contents of a selection when pressing "Delete" 2019-12-27 16:10:05 +02:00
OverloadedOrama 9b73e4f661 Edit palette fixes
- If the palette has colors, automatically select the first one
- When adding a new color button, take the color currently selected on the picker instead of white
- Fixes issues with drag&dropping color buttons. The color that was dragged remains selected.
2019-12-26 02:01:04 +02:00
OverloadedOrama ed2e757c11 Layer Opacity - Change alpha of each layer
Added a slider under the layer add/remove/etc buttons that changes the currently selected layer's transparency. It gets saved in .png and .pxo files, while respecting non-opaque pixels in the image too. Which means, their alpha values aren't being overwritten.
2019-12-24 23:51:08 +02:00
OverloadedOrama d35046d838 Translations - switched from a single .csv to gettext (multiple .po files)
See this for more info on gettext https://docs.godotengine.org/en/3.1/tutorials/i18n/localization_using_gettext.html
2019-12-24 01:47:43 +02:00
OverloadedOrama c840bed941 Enabled low processor usage 2019-12-23 21:29:45 +02:00
CheetoHead 888832b209 GPL importer update after Theme bug fix 2019-12-20 16:12:38 -05:00
CheetoHead 33551c4d81 Merge remote-tracking branch 'upstream/master' 2019-12-20 15:23:14 -05:00
CheetoHead 770c633db2 Added GPL importer, new palette classes for clarification 2019-12-20 15:22:52 -05:00
Michael Alexsander 8da4b78d30 Add brazilian portuguese translation 2019-12-20 13:25:02 -03:00
OverloadedOrama 80f7a0ca13 Added Shift+Ctrl+Z as a secondary shortcut for Redo 2019-12-19 17:07:26 +02:00
OverloadedOrama 69392ff34b Constrained angles on straight lines while pressing Ctrl 2019-12-19 15:50:41 +02:00
OverloadedOrama 7dd67e7130 Put Traditional Chinese to Preferences and changes font when choosing Chinese 2019-12-17 19:52:09 +02:00
OverloadedOrama bfcb52a2f0 Put Russian in preferences & in Project Settings 2019-12-17 13:10:42 +02:00
Overloaded dfc632e8f6
Re-added polish translation and description in project.godot 2019-12-17 04:12:54 +02:00
CheetoHead 388352467b Updated remove button to be disabled for default palettes 2019-12-16 10:48:23 -05:00
Dawid Niedźwiedzki bea101041b
Polish translation 2019-12-16 02:34:26 +01:00
Hugo Locurcio 0d1641fc64
Add a project description
The description will be displayed when hovering the project
in the Project Manager.
2019-12-15 21:40:17 +01:00
OverloadedOrama 00ef80e932 Fixed problem with drawing and filling gaps, created "shift" in Input Map
previous_mouse_pos is now used for regular drawing, while previous_mouse_pos_for_lines is used for straight lines
2019-12-15 14:07:28 +02:00