1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-22 13:33:13 +00:00
Commit graph

1008 commits

Author SHA1 Message Date
OverloadedOrama
76b7014d84 Added UndoRedo support for importing images as frames and layers 2020-06-21 21:39:16 +03:00
OverloadedOrama
40a01f1da3 Added import image as a new layer of the current project
Just realized that I forgot to add undo/redo support of importing images as new frame/layer, oops. Will fix next.
2020-06-21 21:20:39 +03:00
OverloadedOrama
f260971056 Added import image as a new frame of the current project
Will also add a way to let the user choose which layer the new cel of the imported image will be.
2020-06-21 21:02:03 +03:00
OverloadedOrama
597fdbc0c0 Removed ImportSprites dialog 2020-06-19 23:07:56 +03:00
OverloadedOrama
2a2de8ba62 Spritesheet preview lines now work properly for non-square images 2020-06-17 17:56:18 +03:00
OverloadedOrama
25d9aca0c4 Drag and drop palette files to open them 2020-06-17 16:47:24 +03:00
OverloadedOrama
f7cc9a8104 Added ability to import images as palettes 2020-06-17 03:56:46 +03:00
OverloadedOrama
063ea04b4c If imported image size is less than 100px, limit the max value of the spritesheet frames 2020-06-17 03:34:24 +03:00
OverloadedOrama
28818171d4 Call Global.dialog_open when a PreviewDialog pops up/gets hidden 2020-06-17 02:58:24 +03:00
OverloadedOrama
8142647a69 Added Line2D nodes to cut the spritesheet preview
This helps in previewing how each spritesheet frame will look when it will be imported in Pixelorama. Note that this does not work well with non-square images at the moment.
2020-06-16 18:30:01 +03:00
OverloadedOrama
13613703fc Importing spritesheets is possible again 2020-06-16 17:59:56 +03:00
OverloadedOrama
57d4156341 Added a preview dialog that opens every time the user imports an image file
The dialog does not appear on .pxo files. Import options will be added on it soon.
2020-06-13 20:58:43 +03:00
OverloadedOrama
7219a5a274 Added Resize Canvas option to Image menu 2020-06-13 20:22:25 +03:00
OverloadedOrama
53b91a4bf4 Moved image effect code to DrawingAlgos.gd
More specifically, moved scale, crop, invert, desaturate and generate outline code to DrawingAlgos.gd. I am a little worried of DrawingAlgos.gd getting too big though.
2020-06-13 18:57:28 +03:00
OverloadedOrama
c6b977d48e Set the main viewport's cursor to be cross, and set it as a custom cursor image
Instead of setting the main arrow as a custom cursor every time the cursor gets inside the viewport, set the viewport's default cursor to be the cross, and change the cross's image once in Global.gd
2020-06-13 18:09:46 +03:00
OverloadedOrama
2e587e3634 Made TopMenuContainer.gd and moved all the menu code there from Main.gd
Main.gd is now easier to read
2020-06-13 17:59:57 +03:00
OverloadedOrama
af078d590d Update TransparentChecker's size of all viewports 2020-06-13 15:33:59 +03:00
OverloadedOrama
8064d7b459 Fixed shadowed variables crashes/warnings occurring in Godot 3.2.2-rc1 2020-06-13 15:25:12 +03:00
OverloadedOrama
e6aea97f1b The world_2d of the preview viewports is no longer the same as the main viewport's
A "CanvasPreview" Node2D has been added to every preview viewport, where it draws the current frame. This solves #205.
2020-06-12 02:27:21 +03:00
OverloadedOrama
2371238ec0 Removed Import option from the file menu
The "Open" option will handle importing of .pxo files and image files from now on. The "ImportSprites" file dialog node and script are scheduled to be deleted too. Importing spritesheets option will return soon. Next thing I'm going to work on is a preview window that will appear when importing image files.
2020-06-12 01:11:58 +03:00
OverloadedOrama
b0338ab09a Changed structure of .pxo files
The structure of the .pxo files is now consisted of a JSON-structured metadata part, where all the data that can be stored as text are, and a binary part, that contain all the actual image data for each cel and project brush.

This makes it easier for users to understand the .pxo structure, easier to add more changes without having to check versions for backwards compatibility, easier to be opened by third-party apps and it allows us to make an "Export JSON metadata" option, that will export just the metadata in JSON format, without the binary image data.

It's backwards compatible and .pxo files from as far as v0.5 are still supported.
2020-06-10 04:17:39 +03:00
OverloadedOrama
d76b24b029 Removed unnecessary code from CreateNewImage.gd 2020-06-09 19:02:09 +03:00
OverloadedOrama
8118381b0b Fixed issue where new images had the size of the previous project 2020-06-09 18:44:08 +03:00
OverloadedOrama
d38a6efe9b Move save paths when repositioning tabs
Change path position in the arrays when repositioning tabs
2020-06-06 13:06:50 +03:00
OverloadedOrama
5fda35c2d8 Fixed issues with saving and backups 2020-06-06 02:52:17 +03:00
OverloadedOrama
709a401373 Save backups for all opened projects
current_save_paths and backup_save_paths in OpenSave.gd are arrays now, have paths for every project
2020-06-06 02:16:53 +03:00
OverloadedOrama
2c409ab025 Camera zoom and offset are now project properites
The zoom/offset of the three cameras now get saved in each project, and change when you change project.
2020-06-05 21:03:34 +03:00
OverloadedOrama
9ffce37c0b An asterisk is added to the tab name if there are changes
The window title also changes when switching tabs. And yes, "has_changed_changed" is a stupid method name, I'll find another one sometime later.
2020-06-05 20:15:40 +03:00
OverloadedOrama
6d87901056 Imported image files now open in an new tab
Keep in mind that opening an image file as a new frame might not work properly yet, if the target image has a different size.
2020-06-05 19:51:06 +03:00
OverloadedOrama
1b1c7f844f .pxo files now get opened in a new tab 2020-06-05 18:54:11 +03:00
OverloadedOrama
7a61f1ea4a Fixed issue where the wrong amount of cels were being created
The new image's frames had as many cels as the previously selected project
2020-06-05 18:19:05 +03:00
OverloadedOrama
d37b07db5d Reposition tabs is now functional
That was easier than I expected
2020-06-05 17:55:41 +03:00
OverloadedOrama
b276999b12 Closing tabs is now possible 2020-06-05 17:50:52 +03:00
OverloadedOrama
4af130bc61 Project brushes change when switching projects
A new Global.file_brushes array is used for the file brushes, and the Project class has its own brushes array for the project brushes
2020-06-05 17:21:35 +03:00
OverloadedOrama
736521246d Change guides when switching project 2020-06-05 16:21:19 +03:00
OverloadedOrama
35969b2f67 Moved the _min and _max variables to Project.gd 2020-06-05 16:06:59 +03:00
OverloadedOrama
60126e46d3 New image now creates a new tab/project 2020-06-05 04:30:50 +03:00
OverloadedOrama
ae381a8714 Change canvas and timeline when a tab is being pressed 2020-06-05 04:30:31 +03:00
OverloadedOrama
709a6d470e Added basic UI for tabs 2020-06-05 02:48:38 +03:00
Manolis Papadeas
2e69e1a8c2
Merge pull request #257 from Orama-Interactive/refactoring
Last refactoring merge
2020-06-05 02:23:59 +03:00
Manolis Papadeas
356bd0665b
Added more contributors and donors in AboutDialog 2020-06-05 00:33:45 +03:00
OverloadedOrama
f9bd590d20 Moved size variable from Canvas.gd to Project.gd 2020-06-04 23:20:20 +03:00
OverloadedOrama
4e111a7ac0 Created a Projects class
A Project class contains project-specific data like name, undo_redo, frames, layers, tags and brushes. These variables have been moved from Global. This is the first step towards multiple tab support, where each tab will be a different Project.
2020-06-04 21:05:36 +03:00
OverloadedOrama
7371cd79e4 Fixed image effects
Also replaced flip_image_horizontal() and flip_image_vertical() with just flip_image()
2020-06-03 02:53:15 +03:00
OverloadedOrama
54b628f6cb Made a Frame class, no longer use multiple Canvases for multiple frames
The Canvas is now single node, instead of having multiple canvases for each frame. This should also be a performance optimization, since there are less canvas nodes, so there are less _input() calls. It should also fix a rare Undo/Redo issue with motion drawing and making lines. Could be unstable, needs more testing.

As a side effect, the guides are now the same for all frames, so this should also close #246.
2020-06-03 02:14:24 +03:00
OverloadedOrama
34bc528e97 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.
2020-06-02 05:14:05 +03:00
OverloadedOrama
df0032c515 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.
2020-06-01 18:50:31 +03:00
OverloadedOrama
a9ca858303 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.
2020-06-01 16:42:53 +03:00
OverloadedOrama
9b4956b4f1 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
2020-06-01 00:44:53 +03:00
OverloadedOrama
4cc0ccb97b 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)
2020-05-31 18:40:47 +03:00