Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
LF2 Sprite Sheet Generator [based on Gad's method]
#1
I created a standalone program that accomplishes what Gad's Adobe Flash template does.

There is currently no predefined template which means you need to create or load one you made before. The core functionality is there, and it works BUT this is not magic and there are tons of features that need to be implemented. Bugs are to be expected.



How to Use
Load sprites you want to use by clicking [+] button, or by dragging files to the list box. These are basically reusable parts (objects) of your character. You can add objects by double clicking on them in the list box or [Add Object] button. Then edit objects with right mouse button after selecting them with left mouse. Use middle mouse button to scroll.

Here are some general tips for usage:
  • All object selection is done with left mouse button
  • All object editing/transforming is done with right mouse button
  • Use middle mouse button to scroll and zoom in/out
  • Move, Rotate and Scale tools have G, R, S shortcuts respectively
  • Use [Ctrl + Left mouse button] to select objects additively
  • Use [Shift + Left mouse button] to select objects in an area
  • Ctrl and Shift can be used together to select an area additively

  • It's highly recommended to use sprites with transparent background (alpha channel)
  • Program uses prefiltered bicubic image scaling algorithm so you can use stupidly high resolution sprites
  • In order to reload an existing template and render it, you need to also load sprites with the same name, otherwise they will be shown as a (broken image) sprite.

Screenshot (Click to View)

Planned Features
  • File watcher - automatic reimporting of image files when changed
  • Grid clipping - grid cells should not interfere with each other
  • Easier editing - current editing seems unintuitive
  • Shortcuts - to make life easier for us all
  • Undo & Redo - maybe if I'm motivated enough, convince me
  • Prompt while exiting - currently it doesn't ask if you want to save
Ultimately, my constant dissatisfaction with the way things are becomes the driving force behind everything I do.
[Image: sigline.png]
LF2 IDE - Advanced visual data changer featuring instant data loader
LF2 Sprite Sheet Generator - Template based sprite sheet generator based on Gad's method
[Image: sigline.png]
There is no perfect language, but C++ is the worst.
Reply
#2
I had a similar idea for my project but you was faster.
Looks neat. I will be pleased of updates and planned features.

PS:
None installer ;) :D
Reply
Thanks given by:
#3
(09-17-2018, 02:03 PM)Luigi600 Wrote:  I had a similar idea for my project but you was faster.
Looks neat. I will be pleased of updates and planned features.

PS:
None installer ;) :D
Meh.. Thanks for the feedback tho.

@All Those thanks are not worth a damn without some kind of actual response/feedback. Seriously, stop clicking stupid buttons and start typing if you actually care about this.
Ultimately, my constant dissatisfaction with the way things are becomes the driving force behind everything I do.
[Image: sigline.png]
LF2 IDE - Advanced visual data changer featuring instant data loader
LF2 Sprite Sheet Generator - Template based sprite sheet generator based on Gad's method
[Image: sigline.png]
There is no perfect language, but C++ is the worst.
Reply
Thanks given by:
#4
Because we don't ALL have the time or an existing project that needs custom sprites(and even then drawing the body parts to piece them together is time-consuming) to really fully test this and most of the activity nowadays is in the Discord, and I did share it there to get the people who might have those to try it.

I will just say this since you demand feedback and I decided to open it to just give it one quick go:
1) You have all those features, but you don't allow people to drag images around or(nvm, found out its right click) their frame camera view around(only zoom in/out). Am I missing something in the controls? Because that's a very huge turnoff.
2) You can't directly type the position coordinates from scratch, you have to edit the existing numbers the program listed for you. The fullstop key turns into a degree sign apparently. I also notice you have to mouse over to the right side of the screen first or the text you're trying to type/select would be rendered null; not necessarily a bad thing.
3) Noticed that deleting the resource doesn't also delete the object, but doesn't seem to have the ability to edit the now image-less object. There's also no ability to use the "delete" key on your keyboard as a shortcut.
4) Apparently there's bring to front and send to back, but there's no intermediate option?
5) The spritesheet template feature is good. Black->transparent feature is good.
6) Apparently I can't save, but I couldn't replicate this error after I closed and tried again:
https://cdn.discordapp.com/attachments/3...nknown.png
EDIT: found out its due to STM_pic.png, which is the pic with a blue background. Can't be an issue with bmp/png or filename or folder location. Has to be something else. Its a 23kb png with 458x148 dimensions, and I've added far larger images that also stretch outside the template area with no issues.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by:
#5
(09-17-2018, 03:08 PM)Nightmarex1337 Wrote:  stop clicking stupid buttons

... but I like clicking stupid buttons

Anyway to the point, if you take a look at this LPC character generator, it has a collection of sprite parts, and places them onto the character when it's toggled.

How I see your sprite sheet generator (I'm on Linux, so can't test it out yet) is, it is building up the positions of where the sprite parts should go. Are you storing the sprite sheet template in a format that's easy for other apps to parse (e.g. json, yaml, toml) so that, e.g. after defining the template, people can make their own sprite parts and run a command line tool to generate the final sprite sheet?
Reply
Thanks given by:
#6
(09-17-2018, 10:24 PM)STM1993 Wrote:  Because we don't ALL have the time or an existing project that needs custom sprites(and even then drawing the body parts to piece them together is time-consuming) to really fully test this and most of the activity nowadays is in the Discord, and I did share it there to get the people who might have those to try it.
Thanks for sharing it. Maybe I'm overreacting but it's mostly because I don't have much intention to keep developing this unless people are interested in it so that's why I said that.

(09-17-2018, 10:24 PM)STM1993 Wrote:  1) You have all those features, but you don't allow people to drag images around or(nvm, found out its right click) their frame camera view around(only zoom in/out). Am I missing something in the controls? Because that's a very huge turnoff.
I don't see what you're getting at by "all those features" but this is more of a working prototype than anything production ready. You can drag view with middle mouse button (the mouse wheel) which I have already written in the first post. Then of course, if you're a trackpad user this is actually an issue.

(09-17-2018, 10:24 PM)STM1993 Wrote:  2) You can't directly type the position coordinates from scratch, you have to edit the existing numbers the program listed for you.
That's a totally useless thing to implement, for now at least.

(09-17-2018, 10:24 PM)STM1993 Wrote:  The fullstop key turns into a degree sign apparently.
I don't even know what you're talking about here.

(09-17-2018, 10:24 PM)STM1993 Wrote:  I also notice you have to mouse over to the right side of the screen first or the text you're trying to type/select would be rendered null; not necessarily a bad thing.
I don't like the situation either but this is more to do with technical stuff I couldn't come up with a better solution for. Basically, shortcuts and text input interfere with each other so I separated them with 'focus follows mouse' method.

(09-17-2018, 10:24 PM)STM1993 Wrote:  3) Noticed that deleting the resource doesn't also delete the object, but doesn't seem to have the ability to edit the now image-less object. There's also no ability to use the "delete" key on your keyboard as a shortcut.
This is by design. Templates are not strongly tied to sprites (i.e. they are weak references). Makes things more modular & reusable. Oh and delete key shortcut is a trivial thing I forgot to add.

(09-17-2018, 10:24 PM)STM1993 Wrote:  4) Apparently there's bring to front and send to back, but there's no intermediate option?
I don't think there is much need for that since you can reorder them as groups.

(09-17-2018, 10:24 PM)STM1993 Wrote:  6) Apparently I can't save, but I couldn't replicate this error after I closed and tried again:
https://cdn.discordapp.com/attachments/3...nknown.png
EDIT: found out its due to STM_pic.png, which is the pic with a blue background. Can't be an issue with bmp/png or filename or folder location. Has to be something else. Its a 23kb png with 458x148 dimensions, and I've added far larger images that also stretch outside the template area with no issues.
I'm having one of those "how is this even possible" programmer moments right here. I can look into it if you hand over your STM_pic.png


(09-18-2018, 07:41 AM)Azriel Wrote:  How I see your sprite sheet generator (I'm on Linux, so can't test it out yet) is, it is building up the positions of where the sprite parts should go. Are you storing the sprite sheet template in a format that's easy for other apps to parse (e.g. json, yaml, toml) so that, e.g. after defining the template, people can make their own sprite parts and run a command line tool to generate the final sprite sheet?
Template are saved in simple xml format so I think it shouldn't be so hard to scratch a cross platform .Net Core program. Then again I don't think that's a worthy effort since it supposed to be a visual design tool. If you wanna fully port it more power to you: https://github.com/ahmetsait/LF2-Sprite-Sheet-Generator
Ultimately, my constant dissatisfaction with the way things are becomes the driving force behind everything I do.
[Image: sigline.png]
LF2 IDE - Advanced visual data changer featuring instant data loader
LF2 Sprite Sheet Generator - Template based sprite sheet generator based on Gad's method
[Image: sigline.png]
There is no perfect language, but C++ is the worst.
Reply
Thanks given by:
#7
(09-18-2018, 02:10 PM)Nightmarex1337 Wrote:  I don't see what you're getting at by "all those features" but this is more of a working prototype than anything production ready.
I also overreacted there; it was early morning and I was quite upset.
Noted on middle mouse control.

(09-18-2018, 02:10 PM)Nightmarex1337 Wrote:  
(09-17-2018, 10:24 PM)STM1993 Wrote:  The fullstop key turns into a degree sign apparently.
I don't even know what you're talking about here.
My bad, turns out I had chinese text enabled then and the . became a mandarin version of a period, as seen here: 。

(09-18-2018, 02:10 PM)Nightmarex1337 Wrote:  
(09-17-2018, 10:24 PM)STM1993 Wrote:  3) Noticed that deleting the resource doesn't also delete the object, but doesn't seem to have the ability to edit the now image-less object.
This is by design. Templates are not strongly tied to sprites (i.e. they are weak references). Makes things more modular & reusable.
Yeah my point is that I apparently can't change the resource used by the affected object to something else.

(09-18-2018, 02:10 PM)Nightmarex1337 Wrote:  I'm having one of those "how is this even possible" programmer moments right here. I can look into it if you hand over your STM_pic.png
Here ya go:
   
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by:
#8
(09-18-2018, 11:56 PM)STM1993 Wrote:  Yeah my point is that I apparently can't change the resource used by the affected object to something else.
Correct. This can be trivially added.

Btw, I figured out the error. It had something to do with bitmap memory alignment which cause sprites to take up more bytes than (bytesPerPixel x width x height).
Ultimately, my constant dissatisfaction with the way things are becomes the driving force behind everything I do.
[Image: sigline.png]
LF2 IDE - Advanced visual data changer featuring instant data loader
LF2 Sprite Sheet Generator - Template based sprite sheet generator based on Gad's method
[Image: sigline.png]
There is no perfect language, but C++ is the worst.
Reply
Thanks given by:
#9
LF2 Sprite Sheet Generator v1.1.0

Update Log (Click to View)

Quite some usability improvements added. You can now duplicate selected objects (Ctrl+D) so don't need to recreate near-identical frames.
Ultimately, my constant dissatisfaction with the way things are becomes the driving force behind everything I do.
[Image: sigline.png]
LF2 IDE - Advanced visual data changer featuring instant data loader
LF2 Sprite Sheet Generator - Template based sprite sheet generator based on Gad's method
[Image: sigline.png]
There is no perfect language, but C++ is the worst.
Reply
Thanks given by:
#10
Hey not bad!! I'v been thinking about such a thing myself, but figured there's not much of use considering that there are other good spriting tools.
I have not been reading whole topic, so please excuse me if these have been mentioned already.
I didn't have much time to review, but here's few suggestions:

- Creating custom stacked symbol groups, so ready objects that contain symbols.
- Viewing current sprite only / animation - so you could see how frames are transitioning. Editing them just by seeing them next to each other is much harder.
- Skew/bend/distort functions
- Bar at top is very unintuitive, regular move/scale/rotate should be allowed by clicking on different parts of the picture on the board. (THAT's A MUST in graphic edtior like that)
- Bring to front/send to back - where are the move by 1 layer options? Couldn't find.
- Replacing symbols??
- Applying shaders to symbols would be cool (changing color and other)

That's it for now. I'll let you know once I come up with more.

Also - would be cool if you joined discord.
Cheers!
Reply
Thanks given by:




Users browsing this thread: 3 Guest(s)