Users browsing this thread: 2 Guest(s)
Spritesheet Analyzer
#1
Sprite Sheet Analyzer list all continuous sprite's palettes. 

Functionality:
- List all palette of the sprites of a sheet.
- Sort sprites depending on their palette
- Modify the colors used by a palette or the background by pressing the Ctrl key and a color.
- Help you identify the most appropriates colors for a IRL pixel art project
- Highlight duplicates or palette swaps
- "De-sheet" sprites: Save every sprites found on a sheet as individuals files.
- Recuperate deleted pixel ( if they haven't been covered by something else)
- Give specific information about a sprite ( number of pixel, how many times each colors are used...) by pressing the Shift key and a sprite.

Download: Spritesheet Analyzer v16

Full Explanation:
If you guys have an idea for a functionality that could be useful, particularly the vg staff, or spot a bug, there's probably still a few, post it in here! Smile
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
#2
Okay, this is honestly a pretty cool program, especially for the ability to quickly replace the background color on a sheet (incase they don't have Photoshop).
I can see it being quite useful.
Reply
Thanked by: daemoth
#3
(07-20-2018, 02:54 PM)Superjustinbros Wrote: Okay, this is honestly a pretty cool program, especially for the ability to quickly replace the background color on a sheet (incase they don't have Photoshop).
I can see it being quite useful.

Oh, although adding this functionnality would be pretty easy, it doesnt presently do that. The background color is used to determine the boundaries of the sprite and their palettes. The background colors are always ignored if found on the sheet.

But yeah, the ability to change a background color or the color of a palette ( and all their associated sprites) is doable, ill put it on my check list.
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by:
#4
Sprite Sheet Analyser V04.2

- You can now modify the colors found on the sheet, in a palette or in the background. Hold down Ctrl when clicking on a color box ( in the palette list or on the background panel) and choose the new color.
- Added a "Color Picker" icon that appear to make a distinction between picking a new background color, which will change the color to ignore when generating the palette list, and changing a background color directly on the sheet.

Edit: V4.1: Managed to optimise the loading process, should be at least 5 times faster than V4.0
V4.2 Fixed crash when adding a new background color
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by:
#5
So, i was implementing transparency and fun fact, when you delete pixels in gimp, it doesnt actually erase the color data of each pixel, it just put everything to 100% transparent....

For example: this test sheet,
[Image: ou9ay32savugu8gzg.jpg]
i deleted the center block like so,
[Image: b1g9kc9iopd0ds5zg.jpg]
Give me this when loaded in SSA
[Image: i1hjwfa7qsuway9zg.jpg]

This could be an interresting feature, to be able to recuperate deleted pixel, but at the same time, if youre sheet is completely transparent and you have moved and deleted pixel all over the place, this will lead to many issues, in particular the sprite boundaries.
I guess ill make it so it ignore by default all pixel that are 100% transparent but also add a second way to load the palette with those pixels, and an option to set all colors that are 100% transparent, opaque.
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by: Superjustinbros, Ton
#6
Just a thought; does this detect flipped/mirrored sprites? That could help cut down on redundancies.
[Image: b1.php?u=39480955]
Quote:You had wasted MY LIFE... waiting for just a goddamn bunnelby model.
-The prestigious Farlavor
Reply
Thanked by:
#7
(07-26-2018, 07:43 AM)Ton Wrote: Just a thought; does this detect flipped/mirrored sprites? That could help cut down on redundancies.

Not presently, but this is a good idea. Ill see how i can implement it ^^
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by: Ton
#8
Download Spritesheet Analyser V5.0
- Highlight duplicates implemented, will also search for sprite that are either flipped horizontally, vertically or rotated ( 90-180-270 degrees), then highlight and number them. This algorythm still need optimisation, depending on the number of sprite to analyse, the time to process will be exponentionnally long. A sheet with with 800 sprite will take about 3-4min to fully process where a sheet with 80 sprites, like in the example below, will take less than a second. I might add a way to search for only straight dupe ( no flipping or rotating) if im not able to optimise enough the full process.
Example:
-Transparency implemented, with function to recuperate deleted pixels upon load. When a palette is selected, each color transparency percentage is now written on them.
- Fixed crash when a single sprite was bigger than 4300 pixels. There should be no limit to the sprite size now.
More info added to the first post.
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by:
#9
Man. You are a hero.
[Image: b1.php?u=39480955]
Quote:You had wasted MY LIFE... waiting for just a goddamn bunnelby model.
-The prestigious Farlavor
Reply
Thanked by: daemoth
#10
Spritesheet Analyser V5.3
Added a bunch of "quality of life" improvement.
- You can load a sprite sheet or a reference by drag and dropping a picture file directly onto the software.
- You can now load a sprite sheet by entering the URL of the picture.
- If you click a palette panel and its first focused sprite isnt being displayed ( because your zoomed too much), the scrolling panel will center onto it.
- Like in most image editing software, pressing the Ctrl Key while using the mousewheel will zoom/dezoom the spritesheet.
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by: Superjustinbros
#11
Spritesheet Analyser V6.0
- Added arrow controls, Up & down to switch between the palettes, left right to switch between the selected sprites. 
- Clicking on a sprite directly on the sprite sheet will select that sprite and show its palette.
- Pressing delete while a sprite is selected will delete it. The first background color will be used for the fill. 
- When changing the color of a "mother" palette, you now have the option to also change the palette of all of its child.
- The master palette ( a palette made up of all the color used by the sprites of the sheet) is now displayed at the top of the list. 
- A progress bar is now displayed when loading a sheet or searching for duplicates.
- and tons of bug fix.

Edit Spritesheet Analyser 6.3
- You can now highlight palette swap.
- Fixed memory leak and greatly optimised "highlight duplicate", should be 10 times faster now.
- Added a grid function and a menu to change its spacing and offset.
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by:
#12
Spritesheet Analyser V7.0
- Shift clicking a sprite will now give some information about that sprite: number of pixels, number of time each colors are used etc.
- When the grid is activated and the image zoomed enough, the grid is now numbered.
- Added an off-grid ( probably not the right term), a second, bigger grid. Also resizable in the grid menu.
With the above now implemented, SSA should be quite helpful when youre doing irl pixel art like hama beads.
- The main screen is now fully resizable.
Edit:
Spritesheet Analyser v7.5
- Completely changed how sprite data are stored, SSA should not take more than 1 gig of ram even for monster sheet.
For a pretty big sheet like this one of Dias in So2, it would take about 2gig of ram in version 7.0. Now, even the sheet that has the most sprite that ive worked on, Lenneth of Valkyrie Profile, take less than 800mg of ram to load.
- You can now click on the asterisk of the mother palette in order to select every sprite that is within that familly. Which should make it easier to spot sprites that have anomalies.
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by:
#13
This keeps looking better!
[Image: b1.php?u=39480955]
Quote:You had wasted MY LIFE... waiting for just a goddamn bunnelby model.
-The prestigious Farlavor
Reply
Thanked by: daemoth
#14
Bug Report: I had Spritesheet Analyzer open in the background while typing this post and noticed my laptop was getting hot. Checked the task manager and Java (confirmed to be running this program) was constantly using all of a CPU core. Its usage appeared to scale with the window size such that the maximized window used 25% CPU / 100% of a core, and resizing it to be smaller dropped it to a steady 14% or so. I reckon it's constantly redrawing even though it was a static image and nothing was being analyzed.

This has been very helpful for finding goof-ups with palettes, more so than most programs. Usually it's been a tedious hassle with the magic wand tool to see if anything doesn't get selected and thus doesn't match the target value.

Reply
Thanked by: daemoth
#15
(08-08-2018, 05:10 PM)torridgristle Wrote: Bug Report: I had Spritesheet Analyzer open in the background while typing this post and noticed my laptop was getting hot. Checked the task manager and Java (confirmed to be running this program) was constantly using all of a CPU core. Its usage appeared to scale with the window size such that the maximized window used 25% CPU / 100% of a core, and resizing it to be smaller dropped it to a steady 14% or so. I reckon it's constantly redrawing even though it was a static image and nothing was being analyzed.
Hmm, it could be because when a color is selected and that their pixel glows, its true that the image is constantly being redrawn, but the cpu usage for that should be minimal, in theory.  Ill make sure to check cpu usage in my next tests.  
This has been very helpful for finding goof-ups with palettes, more so than most programs. Usually it's been a tedious hassle with the magic wand tool to see if anything doesn't get selected and thus doesn't match the target value.

Thx for the sugestion and bug report ^^
I answered in color up there. 
Also, im currently working on a palette swaping menu. Which will allow you to choose 2 palettes, 1 to modify ( either the master palette, or any combination of the other palette) and the second one as the reference (a palette loaded from either the sheet or the reference image that has a sprite patern match with another sprite in the sheet) . 
For example, you load a Mario sheet, you load as a reference a fire mario( which has the same pose as one found on the sheet). It change every mario to fire mario colors.
I was also gonna add a way to create a new palette in that menu, but if i implement a way to select multiple palette, that wont be needed Tongue
[Image: w5xqva2wqod7ni6zg.jpg]
Reply
Thanked by:


Forum Jump: