## gSprite-Engine  
#### Tiny 2D-animation sprite composer for interactive animation loops  

Create 2D-Scenes with clickable animations on a background image, save them for later.  
Click on an animation and the animation will change. Arrange a composition.  
Designed for 12FPS-animation-sequences.
Made in one night, as little game engine for Andrei Ebi who also contributed the example animation and background image.  

![](https://github.com/pr1est0r/gse/blob/master/assets/prev.gif)  

How to install:  
Get Processing 3 from http://processing.org/  
Install the "Drop"-library. It is available in Processings internal library database.  
"Sketch" -> "Import　Library" ->　"Add Library" -> Search and install "Drop"  

How to use:  
To import an animation, drag and drop a folder from your file system to the gse-window.  
You can use the example_animation folder and just throw it in the water, I recommend.  
The folder must contain another folder called "idle". In this folder, the idle-animation that sould be looping by default must be present as .png or .gif image strip.  
Next to the "idle" folder there might an "action" folder be placed. In that folder, place an image strip with an animation that should be triggered if the idle animation is being clicked at.  
If gse doesn't find an action folder, it assumes the animation is non-interactive.  

Folder structure:  
```
           idle - animationframe0001.png, animationframe0001.png ...  
          /  
animation  
          \  
           action - actionanimationframe0001.png, actionanimationframe0001.png ...  
```

Once the folder has been imported the animation should instantly be visible on the map.  

Animation controls:  
- To trigger the action animation, simply left-click the animation. The action animation will be started after the current loop of the idle animation has finished.  
- To move the animation around, right-click and drag it.  
- To scale an animation, right-click it and keep pushing while scrolling the mouse wheel.  
- To delete an animation, right-click it and keep pushing while pressing Del.  
- To lock an animation, so you can't move it anymore by accident, double click it. Double click again, to unlock it.  

Navigation controls:  
- Middle mouse click to zoom in and out at fixed positions.  
- Mouse wheel scroll to zoom dynamically.  
- Left-click on the background to drag the map around.  

To save the setup as .gse file, press s. The program will automatically load the save file on startup. It is located in the sketches data folder. Back it up now and then ~.  



Todo:
- Add intuitive method to change background image  
- Render out .html file

Known Issues:
- Could not parse -1 for --display  
Known issue with Processing 3.3.4 on Windows7 / 10: https://github.com/processing/processing/issues/5118
Fix: Try an earlier version of Processing (gse was made in p5 3.3) or try commenting out in setup:
```
surface.setResizable(true);
```
- Out of Memory error  
Fix: Make your project smaller or increase memory size in processing settings.  
- Crash on program start  
Most likely to be caused by a corrupt save file. Either you edited the save file by hand or you moved an animation folder so the save file refers to a missing directory.  
Fix: Delete the save.gse in the data-folder. If it's important, eMail me and I'll try to fix it.
