Noob sprite-ripper asking for some advice

Discussion in 'NDS - ROM Hacking and Translations' started by besciamella, May 7, 2011.

May 7, 2011
  1. besciamella
    OP

    Newcomer besciamella Newbie

    Joined:
    May 7, 2011
    Messages:
    3
    Country:
    Italy
    As i just said, i know this has been probably asked already tons of times, but it seems either google isn't helping me or i fail at searching...

    I decided to leave sprites ripping (i never started, actually) because of the same problem, couldn't find what i needed.
    I don't know why, maybe boredom, but I decided to try again some hours ago, and found out about crystaltile2.
    Did it make me happy? yes, it did, but not for long. Taking off dust and cobwebs from "SRW : Mugen no Frontier Exceed", i unpacked it and got myself a nice data.srl file, and now i'm pretty much stuck at figuring out HOW to get anything out of that damn file. crystaltile can open them, but the palettes are messed up and tinkering with settings didn't give me any results.
    I could also fire up virtualdub, but that's the last thing i would like to do; i just want the sprites, without any effing enemy ruining my soon-to-be animated gif [​IMG]

    Did i choose a "too hard to rip" game for starting out or i just fail at searching?

    Thanks in advance for any help and sorry for any spelling errors.
     
  2. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,703
    Country:
    United Kingdom
    I lack the time at present to investigate the game so this is going to be a more general post.

    You might have picked a hard game but in general there are 3 ways of sprite ripping on the DS.

    First things first consider that the DS has a file system much like a optical disc based device and you can usually blow things apart into files. You already discovered crystaltile2 it seems but for the sake of others reading http://filetrip.net/f23649-CrystalTile2-2010-09-06.html

    1) Emulator- not screenshots (although that works) but ram, OAM, BG and VRAM viewers of various flavours.
    [​IMG]
    The game is Dawn of Heroes and it is a really annoying game to hack- it is one of the few that bundles all the files into one massive one (albeit giving you very nice pointers to all of them and little in the way of compression that I can see) but that actually took longer to get into the game and press printscreen than any "hacking" work. Emulation might not be quite up to playing games for fun but hackers and spriters have been using them for years as they do very well for those sorts of things.
    You can import save games into most emulators these days as well but that does not stop you from using some basic hacking tricks- maybe not in that example but if you have a game apart you can often rename say the end boss character into a basic enemy or otherwise overwrite it (the DS is quite nice as well as people tend to use resilient coding techniques unlike old consoles that expected so many tiles to be there) and grab your desired sprite from the first level- certainly we use such techniques to rip video and music all the time.
    Equally if you look at that some images are composed of layers upon layers (not necessarily ones you can remove with the display layers commands either) and with a bit of fiddling you can send the offending top sprites away from the actual thing you want.

    2) File reverse engineering/hardware style viewers- it might be a custom format but chances are it just has the image hastily stuck at the end of the file- you can then line it up and grab your image.

    The following image is mainly for an explanation as to how the DS stores and displays imagery at a hardware level- as long as your editor has a 4bpp and an 8bpp GBA viewer you should be good though.
    [​IMG]
    http://gbatemp.net/t73394-gbatemp-rom-hack...st&p=970547 being a copy of the data.

    In practice it will probably look more like
    http://pix.gbatemp.net/32303/icondemoru9.jpg
    or http://gbatemp.net/pix/32303/gundam.JPG or http://pix.gbatemp.net/32303/lozdemo.JPG at first but start shifting things around, introduce a proper palette and you get a nice looking image soon enough.

    Sometimes games will package new formats in known formats like NARC which you can unpack quite easily to take a look at later things.

    3) Existing formats
    Crystaltile2 has a bunch of support for this sort of thing but there are a handful of other programs that can do it with http://gbatemp.net/t162863-susie-plugins-f...tro-rom-file-sy being one of the more interesting and http://www.romhacking.net/forum/index.php/topic,8407.html being an up and coming tool. Developers can change or badly implement a format though so relying on this method is less than brilliant as it can leave you left hanging for a new game.
    General procedure with crystaltile2 is to load the rom in it, press the DS icon to load up the file system viewer and

    This way a few clicks (I reckon I could do that in less than 20 and most of those will be double clicks/setup clicks) nets you something like
    http://pix.gbatemp.net/32303/gundam2.JPG
    Not all games can do this though as they might have unknown files and what have you but if you want some specs for existing formats then http://www.romhacking.net/docs/%5B469%5Dnds_formats.htm

    Guide to crystaltile2
    http://gbatemp.net/t73394-gbatemp-rom-hack...p;#entry1310540
    Another guide with some good stuff
    http://gbatemp.net/index.php?showtopic=291274&hl=

    Not all DS sprites are traditional tiled sprites- phoenix wright uses an odd animation/build up technique similar to the bones animation method of 3d.
    Speaking of 3d many games will use 3d in lieu of sprites- saves on animation in some ways and works pretty well. Many of Nintendo's first party games and captive devs do this a lot.

    Equally nothing stopping you from combining aspects- I am usually far too lazy to find the palette so I will just rip it from an emulator and do any editing using that and you can do things like find the palette in ram and search for that back in the rom (most palettes are either stored together or stored in the same manner for every image in the game)
    Compression is also an issue- fortunately not too many games use truly custom stuff and most will be compatible with tools already made. Read the whole thing as it covers a lot of stuff http://gbatemp.net/t274472-codec-lzss-ds-released
    Naturally crystaltile2 has compression support.
     
  3. besciamella
    OP

    Newcomer besciamella Newbie

    Joined:
    May 7, 2011
    Messages:
    3
    Country:
    Italy
    That's a lot of content to read, I'll try out something once i have some free time (unfortunately, that'll be tomorrow). I don't know the proper words to thank you enough for spending your time writing this, i hope a "Thanks" is enough [​IMG] as i suppose you probably have written this kind of answer all over the forums.
    Thanks a lot again!
     

Share This Page