Skip to content
This repository has been archived by the owner on Dec 29, 2023. It is now read-only.

TheWilley/Fruity_Dance_Sprite_Sheet_Generator

Repository files navigation


Fruity Dance Sprite Sheet Generator


An Editor & Generator for the Fruity Dance plugin


This project was made as a tool for the FL Studio plugin Fruity Dance.

Using the generator

You have three options:

  1. Go to the GitHub pages website
  2. Download build
  3. Build from source

Download build

You can download the build from the releases section of this GitHub page.

Open index.html in the dist folder with any modern browser.

Build from source

OBS: nodejs is required

Firstly, clone the project and navigate into it with a terminal. Once inside, install all needed dependencies:

$ npm i

Secondly, build the project:

$ npm run build

A dist folder should now be created with a index.html file inside. Open it with any modern browser.

Development

OBS: nodejs is required

Run npm run dev in the console and open http://localhost:9000/dist/index.html to get started. All changes to files will be automatically compiled and auto reload is enabled.

Deployment

The npm run deploy command is used to deploy to GitHub Pages.

Hooks

A .git-hooks/commit-msg file has been created to enforce conventional commit messages. To enable:

  • chmod +x '.git-hooks/commit-msg'
  • git config core.hooksPath '.git-hooks'

Version handling

Versions will be updated according to the following rules:

<major>.<minor>.<patch>
  • The major version is seldom increased as it's hard to define any hard-set rules for it. Generally, it's only when the API no longer is compatible with older versions that this version is increased, but when that happens is a question of definition, i.e. when are there enough changes? For this repo, the version will be increased when I feel that it warrants the changes made, or until I find a better way to handle this.
  • If feat is in the release notes, the minor version will be increased.
  • If fix is in the release notes, the patch version will be increased.

OBS: The version number will be increased by one (i.e. 1.0.0 -> 1.0.1). This means that if the minor version is increased, the patch version will be reset to 0, and if the major version is increased, both the minor and patch version will be reset. However, note that the previous versions did not follow this rule. For example, I incorrectly increased the minor version from 2.1.0 to 2.2.1 when the version should have been increased to 2.2.0 instead. Altough this makes versioning a bit confusing, I will not be changing it, and will instead try to stay consistent from now on.

Why is the git history so messy?

I'm still learning and I still make mistakes. At times, you may see the wrong author or different emails being used. I won't be changing the history to fix this, but I will try to keep it clean from now on.

Here's a meme which reflects the situation: image.png

Features

image.png

  • Right-click on an image to sort it into a "collection".
  • Upload one or many image files or a gif file to auto-extract its frames. If you upload a GIF, choose the upload mode.
    • If you're going to upload a gif with a transparent background, choose Upload mode: Transparent GIF.
    • Otherwise, choose Upload mode: NON Transparent GIF.
  • Drag and drop images into the grid to place them.
  • Click on one or many images to select and modify its offset or size.
  • Save your sprite sheet and loaded images as a JSON file to load them later, or download the compiled sprite sheet image and text file.
  • Configure the generator in the settings section

Keyboard shortcuts

Shortcut Description
ctrl + s / ⌘ + s Save the sprite sheet in JSON format
ctrl + e / ⌘ + e Export the sprite sheet
ctrl + u / ⌘ + u Clear uploaded images (i.e. localstorage)

Libaries

See bundle.js.LICENSE.txt.

Issues

Please create a new issue if you find a bug. Thanks.