1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-20 12:33:14 +00:00
A free & open-source 2D sprite editor, made with the Godot Engine! Available on Windows, Linux, macOS and the Web! https://orama-interactive.itch.io/pixelorama
Find a file
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
.github Release v0.9.2-stable 2022-01-21 16:03:53 +02:00
addons New UI system using Dockable Containers (#640) 2022-01-30 00:47:25 +02:00
assets Theme code cleaning and tidying 2022-02-17 20:36:10 +02:00
installer Release v0.9.2-stable 2022-01-21 16:03:53 +02:00
Misc Release v0.9.2-stable 2022-01-21 16:03:53 +02:00
pixelorama_data Update Monochromatic.tres 2022-01-14 18:02:16 +02:00
src Implement a basic extension system 2022-02-19 03:21:08 +02:00
Translations Implement a basic extension system 2022-02-19 03:21:08 +02:00
.gitattributes Initial commit 2019-08-18 12:28:38 +03:00
.gitignore Minor changes that make Pixelorama work with Android 2021-10-02 15:08:58 +03:00
.gitmodules Add gif export plugin and extend export dialog with GIF animation support. 2020-04-06 18:51:47 +02:00
CHANGELOG.md Release v0.9.2-stable 2022-01-21 16:03:53 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2021-05-21 16:57:41 -07:00
crowdin.yml Update Crowdin configuration file 2020-08-09 23:48:23 +03:00
export_presets.cfg Release v0.9.2-stable 2022-01-21 16:03:53 +02:00
LICENSE Update copyright statements to present 2021-01-03 21:03:20 +02:00
project.godot Change documentation shortcut to F1 2022-02-17 00:28:23 +02:00
README.md Add OpenStore link to README (#612) 2021-12-06 19:01:03 +02:00

Pixelorama - your free and open-source sprite editor!

Made by Orama Interactive with the Godot Engine, written in GDScript!

Build Passing Build Passing Code Size Repository size License

Downloads Discord Chat Crowdin Localized % Mentioned in Awesome Godot

Pixelorama's UI

Make sure to visit our website for more information! https://www.orama-interactive.com

Join our Discord community server where we can discuss about Pixelorama and all our other projects! https://discord.gg/GTMtr8s

If you like, consider helping us by sponsoring this project! It would enable us to focus more on Pixelorama, and make more projects in the future!

Support us on: Become a Patron!

Download

Stable versions:

You can also find early access builds in the GitHub Actions page. There's also a Web version available. Keep in mind that these versions will have bugs and are unstable. Unless you're interested in testing the main branch of Pixelorama, it's recommended that you stick to a stable version.

Documentation

You can find Online Documentation for Pixelorama here: https://orama-interactive.github.io/Pixelorama-Docs

It's still work in progress so there are some pages missing. If you want to contribute, you can do so in Pixelorama-Docs' GitHub Repository.

Cloning Instructions

Pixelorama uses Godot 3.4, so you will need to have it in order to run the project. Older versions may not work. As of right now, most of the code is written using GDScript, so the mono version of Godot is not required, but Pixelorama should also work with it.

Current features as of version v0.9:

  • 16 different tools to help you draw, which you can map to both of your left and right mouse buttons.
  • Are you an animator? Pixelorama has its own animation timeline just for you! You can work at an individual cel level, where each cel refers to a unique layer and frame. Supports onion skinning, cel linking, motion drawing and frame grouping with tags.
  • Different tool options for each of the mouse buttons.
  • Custom brushes, including random brushes.
  • Create or import custom palettes.
  • Pattern filling! Use the bucket tool to fill out an area with a pattern of your choosing.
  • Import images and edit them inside Pixelorama. If you import multiple files, they will be added as individual animation frames. Importing spritesheets is also supported.
  • Export your gorgeous art as PNG or GIF files. Exporting your projects as spritesheets is also possible.
  • Pixel perfect mode for perfect lines, for the pencil, eraser & lighten/darken tools.
  • Autosave support, with data recovery in case of a software crash.
  • Horizontal & vertical mirrored drawing.
  • Tile Mode for pattern creation.
  • Rulers and guides.
  • Rectangular & isometric grid types.
  • Scale, crop, rotate, flip, color invert, HSV-adjust, desaturate and generate outlines and gradients in your images!
  • Multi-language localization support! See our Crowdin page for more details.

Special thanks to