Ripping graphics from DS Roms?

Discussion in 'NDS - ROM Hacking and Translations' started by BurningDesire, Sep 22, 2015.

  1. BurningDesire
    OP

    BurningDesire GBAtemp Psycho!

    Member
    4,964
    5,822
    Jan 27, 2015
    United States
    Behind a screen reading news
    Does anyone know how to extract images from a DS Rom i am looking to get the Images from Phoenix Wright Trials and Tribulations. I need them for a 3DS Homebrew i am working on.
     
  2. PokeAcer

    PokeAcer Banned

    Banned
    1,430
    1,061
    May 28, 2015
    United Kingdom
    Wales
    You need a phat DS or a DS lite and an R4 with some WiFi homebrew.
    Or, you buy a ROM dumper.
    Or, you download them.
     
  3. BurningDesire
    OP

    BurningDesire GBAtemp Psycho!

    Member
    4,964
    5,822
    Jan 27, 2015
    United States
    Behind a screen reading news
    I have CystalLite2 as well as about every ds rom dumper available I don't k now how to extract the .bin files to get the images though.

     
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,739
    9,610
    Nov 21, 2005
    United Kingdom
    Edited the title to be slightly more reflective of the question at hand.

    There are many ways to explode a DS ROM into the files that make it up, if indeed you even want to do that method of asset ripping but more on that in a moment.

    The four main tools from where I sit.

    1) ndstool. A command line tool but with a batch file (or if you want a frontend like DSlazy or DSBuff) http://filetrip.net/nds-downloads/utilities/download-nintendo-ds-rom-tool-ndstool-1-50-1-f29352.html
    Should be available for non windows platforms in various forms but I am not sure of the current state of affairs here.

    2) crystaltile2. http://filetrip.net/nds-downloads/utilities/download-crystaltile2-2010-09-06-f23649.html
    Open the ROM, click the little DS icon on the right and it will bring up a file list. Somewhere in one of those menus will be an option to split ROM, individual files can be pulled with a right click and if CT2 knows the formats right click might also give the option to decode the format is crystaltile2 knows it, it might also offer to decompress a file if it detects compression (be warned there are some false positives that it will give)

    3) Tinke https://code.google.com/p/tinke/
    Similar in function to crystaltile2 really, however very much worth having as well.

    4) NDSTS (or similar tools like NDSHV I guess) http://www.no-intro.org/tools.htm
    A simple tool but will allow you to extract files and import them in place if they are the same size (if you are doing a hack to distribute and you can get it sorted in place with NDSTS or equivalent then definitely do that rather than full ndstool rebuild or something), as well as tell you info that some of those other tools just mentioned might not have in as nice a form (CT2 will tell you where the overlays go though).

    Ripping the files into something you can stick on a sprite sheet then. Three main methods, though one is just a weak version of another.

    1) Decoding the file formats.
    Nintendo did provide formats for developers to use, here is an older document covering some of the popular ones made slightly into the DS lifetime (there are earlier formats that most will compare to these) http://www.romhacking.net/documents/469/
    Various tools will decode these.
    Other times devs used common formats like PNG, BMP, possibly some JPG in there somewhere, TGA and very occasionally something seen more in games (though not to the extent of other consoles). You can load said things up in GIMP or whatever as well as anybody else.

    Beyond that though this is why ROM hacking is what it is. First not all files in a ROM represent the final form in various ways, at the simplest you have archive formats which you may have to further unpack. There are many of these formats including ones I do not know if the devs themselves ever had fully documented.
    With that you get to learn the GBA/DS graphics hardware ( http://problemkaputt.de/gbatek.htm http://www.coranac.com/tonc/text/video.htm ), I know you did not say GBA but it is so very similar if you ignore the DS 3d stuff then some of the old GBA documents are quite useful to read and the GBA is maybe slightly simpler in some aspects.
    Oh yeah the DS has an actual 3d graphics engine/hardware setup. My usual example to bring up here is new super mario brothers. Very few 2d sprites in that and most of that is textures.

    The other aspect of not the final form includes things like sprite animations, palette animations and an awful lot of stuff that 3d goes with -- a 3d texture is seldom the thing you see on screen, even on something as basic as the DS.

    2) Emulator ripping. 3) would be masking around game footage which you probably got from an emulator anyway.
    Graphics will end up in the hardware at some point and emulators will often have tile viewers, obj viewers, bg aka background viewers and more built in. Get the thing loaded up in the game (you are free to help this with cheats, savestates, ROM hacks -- force the end boss to come first or otherwise aid something along the way) and load the viewer. I imagine this is the way a lot of sprite sheets are made, you might even recognise the shade of green or pink used in the background.
    desmume and no$gba dev version (which is freely available these days) both have serious functionality here.

    Anyway my pie is done so I will leave that there.

    Edit. forgot to mention tile editors. Crystaltile2's is probably the best there is, though I will not fault people at all for keeping others around. http://www.romhacking.net/utilities/646/ is not a tile editor but it is probably even more workable than CT2. I also keep a copy of http://home.arcor.de/minako.aino/TilEd2002/ around. Between the three, and tinke for some of the 3d stuff, that is all I keep for GBA and DS hacking purposes. If you really get into the older consoles you might wish to grab one of the ones popular there, if only so you can follow along with existing guides more easily.
     
    PokeAcer likes this.