Sprite Ripping

Discussion in 'NDS - ROM Hacking and Translations' started by yenrac, Jun 14, 2007.

  1. yenrac

    yenrac Newbie

    May 31, 2007
    United States
    I like some of the sprites from a few DS games
    but i can not find any tool the extract and convert them
    i do know about the header tool and i can extract files i assume
    are the image file , but i can not find a way to convert.

    any info would be helpful if not any docs to find out how the encoding works
    and i'll figure a way to build a program to do this if i can find out anything on format
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United States
    An emulator (the good ones do 2d fantastically and have tile/vram viewers) is arguably the easiest route but you can go in manually.

    If you are a spriter can I assume you know basics of image encoding for consoles (what a palette is, what a tile is), you will also probably want to know that the DS is much like the old FDS (famicom disk system) in that each rom is essentially an archive (that can be read) to seperate the files.
    Tools that can extract files:
    NDSTS (one at a time):
    ndstool (does the lot, se elink in my signature for usage):
    Other tools do the same as either of these.

    Stuff to know:
    Filenames are useful: sound_data.sdat invariably contains sound (they are also pretty big normally which can save you time scanning through a rom), menu.asd probably contains menu data.
    .pal files are often palettes as are the small files that have similar names to larger files.
    aar, NARC arc are are archives contained within the DS roms, they are general purpose but that does not stop then containing graphics (and associated palettes).
    SDAT are sound files, as I mentioned already no sprites here.

    The DS 2d stuff is the same as the GBA so old GBA tools should work (note though that if you are using an "unformatted" palette (aka not one of the tile viewer you are using) you will likely have to append it if you are using seperate files), it is made.
    One thread on DS/GBA graphics:

    You may find stuff compressed but it is likely done with standard BIOS mechanisms, largely LZ compression: it will have LZ in the filename/extension of the file or LZ as one of the first few characters in the hex (I tend to use a raw dump of the compressed file and this tool: http://gbadev.org/tools.php?showinfo=56 if I need something quick and dirty)
    See GBATek (linked above) for more on compression.

    Oh and tile viewers (tiled 2002 is my preferred editor) as well as a few other compression related apps can be grabbed from:
    Check GBADev for viewers if you want some more alternatives (or a linux one).

    Hopefully that should get you started.