Separate names with a comma.
Discussion in 'GBA - Game Development, ROM Hacks and Translations' started by Oddyesy, Feb 1, 2014.
How would I rip textures and sprites from games?
Textures as in 3d textures?
If you saw 3d on the GBA it was either a rare software only thing (they did exist mind you) or mode7 style, or isometric I guess but that does not count. Or did you mean the background artwork you might get at points, such backgrounds and whatever else usually get called BG/backgrounds in the parlance of the GBA and DS.
Anyway two main methods
1) Rip it from the game.
2) Rip it from an emulator.
Starting with 2).
Emulators like VBA and desmume debugger have a options to view sprites/OAM/OBJs as well as background/maps.
Here they will tend to come on the nice pink or green or mint green backgrounds like you get on sprite sheets. The trouble comes in you can only get what the GBA displays and there may be some assembly required, especially if you are ripping an entire animation sequence. Now there is nothing stopping you from say getting a "always have this character in my party" cheat and ripping that 5 minutes into a game where normally it would take 5 hours to get to that point.
If you are worried about animation then even basic VBA will allow you to advance forward frame by frame.
1).... this is basically graphics hacking in full. Sure it starts out by ripping a palette from the emulator (along with everything else in 1) there is a palette viewer/dumper) and fiddling around in a tile viewer like crystaltile2 ( http://filetrip.net/nds-downloads/utilities/download-crystaltile2-2010-09-06-f23649.html ) or http://home.arcor.de/minako.aino/TilEd2002/ and such a thing will get you a lot of the way. I would definitely suggest you pick up a tile viewer to complement 1)
After that though it gets fun and you end up learning hacking. 3 main things.
i) Compression. The GBA features extensive compression support which you will have to work around from time to time. The three main methods are compression scanning (compression has telltale signs, tools can search for these and try to decode), BIOS logging (the GBA has so much compression support Nintendo baked it into the BIOS and a lot of games use this functionality, you can log all requests for the commands in various emulators like VBA and said requests feature the location of the compressed data, the type of compression and the size of the data) and tracing which I will cover in a few moments.
ii) Construction/mapping. More common on the DS but far from unheard of on the GBA. Tiles are a really boring type of jigsaw puzzle or maybe a slide puzzle. You can tell things to go wherever, repeat, miss a few lines and more. You might have seen an early preview in parts of 1).
iii) Tracing. The main method, can do anything but will take effort to learn about as it springs from a type of programming called assembly programming (do not let it scare you, the basics which are detailed in the link to come can be handled by anybody that takes the time to think about it). http://www.romhacking.net/documents/361/
Every other method on this list will come up short from to time (or at least get unbearably tedious) but tracing will get you there, if you can not get it with tracing you are either looking for something not displayed by the game (it will not necessarily reveal stuff left out of the final game but still present in the code, if you understand what you are doing this is typically not too hard to work though) or because you ran out of talent/patience.
I also highly suggest http://www.coranac.com/tonc/text/video.htm and http://www.coranac.com/tonc/text/affine.htm
Also as the GBA is so closely related and nice to work with my DS hacking documents cover the GBA quite extensively http://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-rewritten-for-2012.73394/
If you wanted more on compression then that has some, also links to tools for various things as well as more worked examples.