Feature Request: Easy Sprite Ripping

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

Manae

Feature Request: Easy Sprite Ripping

Post by Manae »

Anyone who's tried to rip sprites knows how much of a pain it can be. I've been using ZSNES to do it for a while now, and have thought of a few things that might make it easier on anyone who wants to.

1) The ability to change the color of the background to a color other than black when layers are disabled. I won't claim knowledge of how easy this would be, since it may well be possible the color is defaulted by the ROM and not the emultor.

A better, but more than likely several magnitudes harder, method would be:

2) Add a feature that decompresses and/or un-encrypts the graphics of a ROM. It could be made to either dump it into a large image file, or simply open it in a seperate window to take screenshots to cut out as you need. I've spent time searching for programs that might do this, but am yet to find a working one.

I'm using version 1.337 at the moment, so do me the favor of not attacking me should either have been done.
kevman
Redneck Gamer-Mod
Posts: 433
Joined: Wed Aug 04, 2004 2:15 am
Location: Pittsburgh

Post by kevman »

Version 1.337 is really really old. You should get the WIP regardless, though it doesn't have what you want.

Why would changing the background color help sprite ripping?
SHREIK!!!!!!! DDdddnnnnnnaaaa! GESTAHLLLLLLLLLL!!!!!!!!

Steelers now officially own your ass.
Shogetsu
Rookie
Posts: 29
Joined: Thu Jul 29, 2004 1:36 am

Post by Shogetsu »

kevman wrote:Why would changing the background color help sprite ripping?
Well, if a sprite has black borders or part of it is black you take the risk of loosing part of it when you change the background colour to make a transparent gif. I don't know if I've been clear enough... anyway I don't think this is too important (and I already brought it up like a year ago... and surely more people did as well earlier).
I'll tell you the meaning of life: It's not to live, but to die
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Re: Feature Request: Easy Sprite Ripping

Post by Nightcrawler »

Manae wrote:Anyone who's tried to rip sprites knows how much of a pain it can be. I've been using ZSNES to do it for a while now, and have thought of a few things that might make it easier on anyone who wants to.

1) The ability to change the color of the background to a color other than black when layers are disabled. I won't claim knowledge of how easy this would be, since it may well be possible the color is defaulted by the ROM and not the emultor.

A better, but more than likely several magnitudes harder, method would be:

2) Add a feature that decompresses and/or un-encrypts the graphics of a ROM. It could be made to either dump it into a large image file, or simply open it in a seperate window to take screenshots to cut out as you need. I've spent time searching for programs that might do this, but am yet to find a working one.

I'm using version 1.337 at the moment, so do me the favor of not attacking me should either have been done.
1.) This could possibly be done, but I'm not a dev, so I can't comment further.

2.) Ok, I'm going to tell you why this is impossible. No ROM's graphics storage is the same(The same goes for compression and/or encryption with a few exceptions). Graphical data is mixed splat in the middle with font data, sound data, and game code. There is no way to pick out what is graphics data. That's why no program has been written to do this.

The other problem is the graphics aren't even stored in an order you'd be able to do anything with.

You can use a tile viewer(get one from romhacking.com or zophar's domain) and view ANY uncompressed graphics in a ROM. This would be the equivalant output of a graphics ripping type program. As you will see, the data is stored in a very unfriendly format.

There are a few sprite ripping programs out there, but they only work for specific games since what is used on one game 99% of the time won't work on any others.

That about sums it up. I hope this shines some light on things.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Yeah, I'd like vSNES to butter my toasts too.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Re: Feature Request: Easy Sprite Ripping

Post by bluknight »

Manae wrote:1) The ability to change the color of the background to a color other than black when layers are disabled. I won't claim knowledge of how easy this would be, since it may well be possible the color is defaulted by the ROM and not the emultor.
Aproximately a year later with the same request. I may have just missed a feature, but as far as I know, this has still not been implemented. It seems like it would be a rather easy thing to implement though.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

It is not. It won't. Ever.

Use vsnes.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Post by bluknight »

Why not? And I tried to use vsnes, but it didn't seem to be giving me anything useful.

edit: Actually, it seemed to be okay, but I have to make a ton of save states and it's weird. o.O
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

bluknight wrote:Why not? And I tried to use vsnes, but it didn't seem to be giving me anything useful.

edit: Actually, it seemed to be okay, but I have to make a ton of save states and it's weird. o.O
It's either that or not getting those extra black pixels around your sprites.

Or, RE every game you want to rip and extract their sprites directly from the ROM.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Lizking
Hazed
Posts: 63
Joined: Wed Jul 28, 2004 12:14 am
Location: California

Post by Lizking »

hint: the background color is almost never the same color as the black borders on the sprites.
and if it is, it's not exactly hard to draw them back.

i have only one problem with sprite ripping in zsnes; sometimes, one sprite blocks another.
XFALGFM G: A YAUUSK
Johan_H
Starzinger Addict
Posts: 998
Joined: Tue Aug 17, 2004 1:14 pm
Location: Sweden
Contact:

Post by Johan_H »

Removing background manually isn't really that hard eather.
Agozer
16-bit Corpse | Nyoron~
Posts: 3534
Joined: Sun Aug 01, 2004 7:14 pm
Location: Nokia Land

Post by Agozer »

Johan_Hanberg wrote:Removing background manually isn't really that hard eather.
Maybe, but it can be tedious as hell.
whicker: franpa is grammatically correct, and he still gets ripped on?
sweener2001: Grammatically correct this one time? sure. every other time? no. does that give him a right? not really.
Image
Noxious Ninja
Dark Wind
Posts: 1271
Joined: Thu Jul 29, 2004 8:58 pm
Location: Texas
Contact:

Post by Noxious Ninja »

I thought pagefault actually said he was going to implement this at one time. Maybe I'm just dreaming?
[u][url=http://bash.org/?577451]#577451[/url][/u]
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Agozer wrote:
Johan_Hanberg wrote:Removing background manually isn't really that hard eather.
Maybe, but it can be tedious as hell.
Image

TENACITY
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Post by bluknight »

My friend is going to look at the source later and see if he can find out how to implement this (hopefully simple) feature.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Noxious Ninja wrote:I thought pagefault actually said he was going to implement this at one time. Maybe I'm just dreaming?
You're not dreaming.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Post by bluknight »

So is there any hope? What would be even better would be just a in-game sprite ripper. It seems like it wouldn't be too difficult.
Aerdan
Winter Knight
Posts: 467
Joined: Mon Aug 16, 2004 10:16 pm
Contact:

Post by Aerdan »

AERDAN ANGRY.

WHEN AERDAN ANGRY, AERDAN HURT THINGS.

AERDAN SMASH!
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Post by bluknight »

Odd.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

bluknight wrote:It seems like it wouldn't be too difficult.
You have no idea what is and isn't difficult.
Stop trying.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Post by bluknight »

No, I don't know exactly because I don't exactly know how the code works. From what I can see though, it doesn't seem like it would be too difficult. You can already disable the other graphics layers, which would mean that you can seperate the sprites from everything else already. You can also take screenshots, which means the ability to make graphic files is also already done. There is also already a frame step function. Getting it to work nicely might take some time if you were to add it, but most of what is needed is already part of zsnes.

I also don't know how difficult chanigng the background color would be, but it seems like something that (depending on how it's coded) would be extremely easy. I don't know if it's normally black because some games require that, or if it's black because the game defines it. If it's the first all it would probably be would just be changing the color value at one point.

The difficult part of each of these is finding the appropriate place in the code.

Adding a sprite ripper would also be more difficult if you wanted to let the user have some control (which would require adding some sort of menu or gui element). The only thing I'm not sure about is wether or not you can flip between the different sprites. I know that in vsnes you can, which I think implies that when zsnes makes a save state it has seperate names for each sprite, which would imply that you can in fact seperate one sprite from everything else.
Joe Camacho
Devil's Advocate
Posts: 2293
Joined: Mon Aug 02, 2004 7:51 pm
Location: Hmo. Son.

Post by Joe Camacho »

grinvader wrote:
bluknight wrote:It seems like it wouldn't be too difficult.
You have no idea what is and isn't difficult.
Stop trying.
*Sometimes I edit my posts just to correct mistakes.
Clements
Randomness
Posts: 1172
Joined: Wed Jul 28, 2004 4:01 pm
Location: UK
Contact:

Post by Clements »

Indeed, we don't want to raise the 'blinking cursor' example again.
bluknight
New Member
Posts: 9
Joined: Thu Oct 27, 2005 2:06 am

Post by bluknight »

The blinking cursor example?

Sorry if I seem like a complete idiot. As I said before, I haven't actually looked at the code of zsnes, so I was only assuming things based on what I saw during use oof zsnes and based on how I think certain elements may have been coded.
Jipcy
Veteran
Posts: 768
Joined: Thu Feb 03, 2005 8:18 pm
Contact:

Post by Jipcy »

ZSNES is open source. Feel free to add any features you want.

The current developers don't seem to have much desire to work on this request, though.
[url=http://zsnes-docs.sf.net]Official ZSNES Docs[/url] | [url=http://zsnes-docs.sf.net/nsrt]NSRT Guide[/url] | [url=http://endoftransmission.net/phpBB3/viewtopic.php?t=394]Using a Wiimote w/ emulators[/url]
Post Reply