The VG Resource

Full Version: Daxar's Sprite Sheeter
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
[Image: omJmvDo.png]
[Image: oI3AVJl.png]

Sprite Sheeter is a program to quickly generate spritesheets from a series of frame images, preview animations, and perform common sheeting tasks, rather than having to manually arrange images on a sheet with an image editor such as GIMP, Paint, or Photoshop. The goal is simplicity and timesaving when creating sheets to upload here at TSR!

Download: https://github.com/meh2481/SpriteSheeter/releases

Requires Microsoft Visual C++ 2015 Redistributable (x86) found here: vc_redist.x86.exe
Be sure to download the x86 version!


Changelog

v1.2:
  • Fix error when importing images as sheets
  • Add animation preview playback types
  • Re-add stop animation button
  • Tweak toolbar button style
  • Insert added animations after currently-selected animation, not before

v1.1:
  • Drastically improve performance
  • Drastically decrease memory usage (caused crashing issues before)
  • Improve PNG image loading
  • Add support for loading lots of different image formats (see the list on the right)
  • Add font color selection
  • Add support for selecting/dragging/deleting multiple frames at once
  • Various bugfixes and UI tweaks

v1.0:
  • Better performance by changing .sheet format *Note that this breaks save compatibility with older versions!*
  • Add batch sheeting functionality to Edit menu
  • Add Reverse Animation Order functionality
  • Add Remove Duplicate Frames functionality
  • Add DDS image support
  • Better mouse cursor when moving frames around
  • Recent Documents can be found in File Menu
  • RMB now pans the view
  • Add measures that should prevent saves from breaking ever again, even if format changes
  • New Icon
  • Ported to MSVC behind the scenes, which makes the overall program smaller
  • Various bugfixes
... This is glorious, a dedicated thread is a great idea too!
"The program can't start because MSCP140.dll is missing from your computer. Try reinstalling the program to fix this problem."

Then, upon downloading said file:

"The application was unable to start correctly (xc000007). Click OK to close the application."

Ah, nevermind, got an earlier version to work
(08-29-2016, 01:40 AM)TeridaxXD001 Wrote: [ -> ]"The program can't start because MSCP140.dll is missing from your computer. Try reinstalling the program to fix this problem."

Then, upon downloading said file:

"The application was unable to start correctly (xc000007). Click OK to close the application."

Ah, nevermind, got an earlier version to work

Firstly, read the OP. There's giant red text telling you to download a Visual Studio runtime, with a helpful link. Don't ever download single .dll files from sites.

Earlier versions of Sprite Sheeter aren't supported any more and may have bugs or crashes.
Some things I'd like to request:

-Can it be made so we can arrange whole animation strips, perhaps via click first frame + Shift-click last frame + drag and drop? If not, clicking a row and using arrow buttons would suffice.
-Editing the text color? As it stands, we have to either choose a BG color that white font will show up on or edit the sheet to recolor it afterward. Additionally maybe being able to drag labels around? Although that's entirely not necessary.
-When clicking and dragging frames around, the application's focus view scrolls as you drag, particularly when zoomed in. For sheets that are long enough to where you have to zoom out a lot, this makes it pretty much impossible to move sprites from one distance of a sheet to the other.
-Being able to "anchor" frames by their bottoms instead of them all floating top-most within a strip where it's possible? This would make for a cleaner and frankly more accurate arrangement of animation frames.

Now some bugs (I'll do my best to explain them):

-When I load lots of images (mainly that amount to a large sheet) it works fine but other times, loading... not the whole set at once, but in parts, causes it to freeze and crash.
-When a whole string/"animation" of sprites has been moved, the label gets removed instead of being carried along with it.
-Dragging the boundaries of a sheet to be too horizontally thin kind of causes it to spaz out.
-The "maximum sheet width" doesn't seem to settle on an exact dimensions when dragging and resizing a sheet. On that note, a suggestion to perhaps display sheet height as well? Again unnecessary compared to the rest though.

Sorry there's so much here, these are just things I've found using it so much the past few months. I know you can't get to all this right away; that's fine, just thought I would bring it up. Big Grin

EDIT: Important thing I forgot to ask: if nothing else, could we please be able to drag sprites in-between others on the Y axis? If you load sprites in the incorrect order there's basically no way to move things up and down (dragging them to the bottom and then moving up also doesn't work if the place you want to move them to isn't the very bottom).

Also if possible, shift + click to select multiple frames to delete and perhaps even move?
Very good suggestions. To be honest, I likely need to re-visit the program overall, since I made some assumptions early on that makes working on it now difficult. Yay code refactoring!

(10-05-2016, 10:42 AM)Mighty Jetters Wrote: [ -> ]-Being able to "anchor" frames by their bottoms instead of them all floating top-most within a strip where it's possible? This would make for a cleaner and frankly more accurate arrangement of animation frames.

There's a current workaround for this: the "Balance/Resize Animation" button. You can set each frame in the animation to be a certain width/height if the animation is currently unbalanced, and lock each current frame to the bottom of the result frame, for example. I have no idea if this is the best solution, since the rest of the application basically assumes that the sheet is balanced already.
Another thing is that I actually discovered that you can shift + mouse wheel scroll while clicking and holding frames to scroll along the sheet in order to drag them around, so having it auto-scroll or whatever isn't necessary.

I forgot to mention as well: if I have so many graphics/the sheet is large enough, it will do either one of or a combination of 1) after dragging things around so much, the sheet begins flickering when I mouse over graphics, then crashing a couple drags after, or 2) simply just freezing + crashing. Also, I'm noticing when I save sheets that have transparency in .SHEET format, the transparency on a few things likes to get buggered up when I re-load it into the program which makes sheeting things frustrating at times since I can't save my progress effectively. I'm unsure if some of the bugs aren't just my computer being poopy or not though since others have reported not having these issues...

I'm glad that my suggestions were helpful! I tried to not just report useless fluff this time. Tongue

(10-24-2016, 05:12 PM)Mighty Jetters Wrote: [ -> ]1) after dragging things around so much, the sheet begins flickering when I mouse over graphics, then crashing a couple drags after, or 2) simply just freezing + crashing.
Yeah, this is performance-related. The whole program needs a 100% rewrite to fix this issue, since rendering is currently done cpu-side. Works great for small programs without a lot of graphics, awful if you have a lot of images in a lot of layers. So it'll work fine with small sheets of small images, horrible with large sheets and/or lots of images.

(10-24-2016, 05:12 PM)Mighty Jetters Wrote: [ -> ]Also, I'm noticing when I save sheets that have transparency in .SHEET format, the transparency on a few things likes to get buggered up when I re-load it into the program which makes sheeting things frustrating at times since I can't save my progress effectively. I'm unsure if some of the bugs aren't just my computer being poopy or not though since others have reported not having these issues...
Best way to check: upload an example .sheet file and a set of steps to reproduce and I can test and verify if it's hardware-related or on the program's side.
Ideally I would be able to say this is 100% my fault, but I'm not sure how nicely Qt plays with different versions of Windows or whatever.

(10-24-2016, 05:12 PM)Mighty Jetters Wrote: [ -> ]I'm glad that my suggestions were helpful! I tried to not just report useless fluff this time. Tongue
I'd be a sorry software designer indeed if I thought suggestions were useless! Keep 'em coming. Smile

(10-24-2016, 05:12 PM)Mighty Jetters Wrote: [ -> ]A couple of images I have tried to load that have HD/large versions, like these balloons, don't load in their proper dimensions; as you can tell, the large balloons are appearing like the small ones but in a large blank space.
Got a .sheet of it? That looks really odd.
Daxar, I just gotta say... I love you man.
https://www.dropbox.com/s/t7c2u5oqd2wja6...s.zip?dl=0

Here's the two requested .SHEETs along with example files used within them, separated into folders. For both, I simply used "Add Frame Sequence" on the files and saved as .SHEET, then reloaded into the program. In the case of the "transparency" folder's contents, upon saving as .SHEET, the triangular "caution" icon re-loads with a black background for me while the rest of the graphics are fine. If you need more examples I'll gladly provide them, just didn't want to send a whole bunch if just a few would diagnose the problem. Tongue

Thank you for reading and looking into these! This is undoubtedly the best tool I've ever used. Thumbs Up
Interesting. I'm having the same issue with the exclamation point image, but it looks to be partly the image's fault(?), as it's not loading properly in GIMP either (though Windows photo viewer opens it fine). I may be able to convert to a particular image format on load and see if that helps anything, though I thought I was doing that already...

That balloons one is crazy weird, though. Loading the .sheet is fine, though importing the image I have the same issue. Maybe a bug with the image library I'm using, or maybe the image has some malformed metadata? I'll have to fiddle with it a bit.
Interestingly enough, images like the triangle one load completely fine in Paint.NET, while looooots of other HD version images like the balloons behave exactly the same way.

If there was only a fix for the large images not loading correctly, that'd be good enough for me until you are able to re-write the program as that currently gives me the most trouble seeing how I have to replace the images manually.
Whew, that took a while.

Updated the OP with version 1.1 of Sprite Sheeter, which fixes the image loading problems you were having, MJ. It should also help out with some of the crashes you were running into, if they were caused by what I think they were.

Overall, the program should be a whole lot faster and more stable now, though I'm sure I missed quite a few bugs. Let me know if you find any, and include steps to reproduce (and/or a .sheet if applicable).

Thanks, and happy sheeting!
A few things with the new version, first off the animations seem to be adding in reverse order now, i.e. from bottom to top instead of top to bottom. And I can't change the order of animations. It also seems to be missing the option to stop the animation (pause and go to the first frame). Not a huge issue but I liked the feature.

Otherwise I really like it though, especially the text colour option Wink Keep it up!
Hmm, looks like I made it add animations before the current animation, rather than after. Probably not the best way to do that.

You can sorta kinda reorder animations now; select all animation frames by clicking on the animation background and click and drag from one frame to move them all around. Definitely isn't the best way to do it, and animation names are lost in the process. I'll have to fix that.

I'll add the stop button back in; I was trying to figure out if it was needed, and there wasn't any easy way to replace the go-back-to-beginning feature. Looking at it again, I should probably fix some other things too, like selecting a different animation not updating the frame count, and adding pingpong and play-once animation playback.
Pages: 1 2 3