View Full Version : [Tutorial] Pokemon Ruby Hacking- Inserting New Houses Easier!

November 19th, 2012, 5:48 PM
I may be new to signing up to this website, but I have been hacking for two years now. One thing every good hack needs is a new tileset, particularly for houses as they catch the eye of the player. Inserting tilesets is a scary and rare skill though for some people like me, and if you aren't one of those people, this tutorial is completely useless to you and I suggest to stop reading this and not waste your time. :D I use PKSV, so if you use XSE and are confused on my language, sorry friend. SORRY IF THIS TUTORIAL IS POORLY WRITTEN, I ONLY MEAN TO HELP, NOT HURT. :')
Alright, I wanted the slanted roofed house from Pokemon Diamond in my game, but I couldn't get the tiles to import, plus I didn't want to use all that space on my tileset! So I inserted it as a 64x64 sprite and wrote a script to click the house and warp you inside. It's rather simple and can be done in thirty minutes, give or take. [[I will add images when I get my DA account to work.]]
Programs required:
NSE Classic or NSE
Pokemon Ruby ROM that you are hacking
Advance Map

Everything in hacking has little rules you find out by messing up, I have found about all of them for my method and I will now list some rules you must follow:
1. If you import a sprite, it must be smaller in size than the replacement sprite or the same size when you alter the size under prefrences. Ex: If you have a 32x32 Sprite and you replace it with a 64x64 sprite, you are going to get the right sprite imported, but with transparent stripes running down it.
2. Make sure your transparent color does not appear in your sprite
3. If your sprite looks discolored, you may have more than one custom palette showing up on your map. Either delete the other event or move one of the events so the colors don't mess up.

1. Pick out your sprite you want, be wise with your decision! You only get two banks for 64x64 sprites in Pokemon Ruby Version.
2. Load up your sprite in Paint, enclose the sprite completely with the select tool, then crop it. The less open space left out from the sides of the sprite, the better your sprite will look and the less coloring you will have to do later.
3. Resize your sprite to be 64x64 pixels
4. Save as .PNG file
5. Open image in Irfanview
6. Under the header, "image", click "decrease color depth" then click "16 color mode (4BPP)"[Or something similar]
7. Save your image as a .BMP, make sure it is a .BMP and it is 16 colors(4BPP)!
8. Load up your ROM in NSE
9. Find the boat sprite, I believe it is in the mid 100's around 117 or something.
10. Go under the header "Edit" then click "Prefrences" and resize the image to be 64x64 pixels.
11. Go under the first header in the top left and go to "Import>Import BMP"
12. Click your sprite.
13. Import the sprite and the palette, make sure you are happy with getting rid of the palette you currently have loaded up.
14. Save the image, make sure no parts of the image are the transparent color.
15. Load A-map
16. Load your ROM in A-map
17. Go under the events tab, and make a new person event
18. Change the sprite image to your house you just imported
19. Open up the script for the house and write this(Just an example script, it'll work)
Remember warp 0xmapbank 0xmapnumber 0xFF(command to control player) 0xXcoordinate 0xYcoordinate
#dyn 0x740000
#org @main
msgbox @talk
callstd MSG_NORMAL
fadescreen FADEOUT_BLACK
warp 0x1 0x0 0xFF 0x8 0x7
fadescreen FADEIN_BLACK

#org @talk
= Entering \v\h01's home..

20. Save the map and try it in game. :D Hope I helped any people with the same problem as me. Any questions feel free to ask, I kind of went over it sloppily.

January 1st, 2013, 3:39 PM
Great tutorial, but it would be great to actually be able to insert new sprites. I know there is no way, but it would still be great. Good ideas always help.
First post!