Results 1 to 1 of 1

Thread: Tutorial: [Graphics] Editing NSCR files (how to map the graphics on NDS ROMs)

  1. #1
    Hacker

    Join Date
    Jun 2012
    Location
    Warrnambool, Victoria, Australia
    Posts
    0
    Mentioned
    0 Post(s)

    Tutorial: [Graphics] Editing NSCR files (how to map the graphics on NDS ROMs)

    Hi everyone! I remember about 2 years ago when I was rather clueless about how the NSCR (Nitro Screen Resource) files worked. Well now I have finally cracked the code! So would you like to know how to edit the NSCR files too? Well it's rather simple.

    Requirements for Editing NSCR files
    Okay, first of all... you'll need to the following in order to edit the NSCR files:
    1. A hex editor. Either CrystalTile2 or HxD.
    2. Something to extract the NSCR (and de-compress it if it's compressed). Either Tinke or CrystalTile2 will do it.
    3. Knowledge on hexadecimal.


    Notice: Please note that Tinke 0.8.2 will not save changes to any files. If you'd like to save the changes to a file, use CrystalTile2. To compress a file, you must use DSDecmp, which can be found here, also note that CrystalTile2 will crash if you try to compress any file in an NARC (Nitro Archive) file, or even if you try to replace them. Also please use CrystalTile2 for importing any image, 'cause using Tinke will change the palette to a palette with less colours if you try to import an image using Tinke.

    About hexadecimal
    Ah, well I see that some of you might not know about what hexadecimal is, well I can indeed explain to you by clicking the spoiler below. But if you already know about hexadecimal, then there really isn't any need for me explain.
    Spoiler!


    Editing the NSCR file
    Alright, the first thing you'll need to do... is extract the files with some tool like Tinke, CrystalTile2. And if you've got a compressed file, you'll need to de-compress it using tools such as Tinke or CrystalTile2. Alright, once you've extracted the NSCR, now open up any hex editor such as CrystalTile2 or HxD. Tinke may have it's own built in hex editor, but it cannot save the changes to the file sadly. Alright so after you've opened up your file, you will need to take a look at the NCGR file that is used for the NSCR file, if you'd like to know how to change the NCGR files, be sure to follow my previous tutorial.

    So you've opened the file, and you know what NCGR file the NSCR file is linked to. Alrighty then, so for example... I'm changing the mapping of the Pocket Monsters Black 2 title screen into the mapping of the English Pokémon Black Version 2 title screen, here's what I need to know first:



    You should also do the same thing for your image as well, this will help you to know which hex value to use for the following tiles in the NCGR file, every tile is 8x8 pixels large. For those who have used AdvanceMap for the 3rd Generation Pokémon ROMs would probably notice that this is very similar to map editing, well the answer is very much the same. The bytes in the tile mapping on the NSCR file go from left to right order, but before I explain... I should also explain about the NSCR file... and how the bytes are used.

    Header: 0x0-3 - This indicates the file extension, which is "RCSN" (NSCR backwards).
    Type: 0x4-5 - This shows the type of NSCR file it is, most NSCR files have "0xFFEE" as it's type.
    [needs research]: 0x6-7
    Size: 0x8-B - This shows the size of the file, in this case... the NSCR file is "0x24080000" (which is 0x00000824 backwards and would be 2,084 in decimal).
    Header size: 0xC-D - This shows the header size for the NSCR file, most of them are "0x1000" (which is 0x0010 backwards).
    Number of Sections: 0XE-F - This shows the number of sections, most of them are "0x100" (which is 0x001 backwards).
    SCRN Header: 0x10-13 - The letters "NRCS", which is "SCRN" backwards.
    SCRN size: 0x14-17 - The size of the SCRN area.
    Image width: 0x18-19 - The width of the image, the size is written backwards in hexadecimal, like 0x0001 is 0x0100, which is 256 in hexadecimal.
    Image height: 0x1A-1B - The height of the image, the size is written backwards in hexadecimal, like 0x0001 is 0x0100, which is 256 in hexadecimal.
    [needs research]: 0x1C-1F
    Data length: 0x20-23 This shows the length of the tiles that are mapped for the NSCR file. It's written in backwards hexadecimal.

    And our mapping tutorial begins at this offset...
    Tile mapping data: 0x24

    Before we begin though... I just want to let you know on one thing... the bytes are also written backwards in hexadecimal for each square. But oh no, I don't mean the squares are ordered backwards, because they go from top left-right.

    Now that I've covered all about the different offsets at the beginning of the NSCR, lets start editing the NSCR. So I've decided to change the mapping of the NSCR in Pocket Monsters Black 2 and change it to the mapping of the English Pokémon Black Version 2, here's what I do... I look at the hex values carefully... and look at their pattern. I would also keep track of the bytes on another image as well. Do you notice how the bytes are counting up? Well that's one way of knowing that the logo uses different graphics for each square. And so I actually want to make the Pokémon Black Version 2 logo be in the correct position, right? Well I simply look at that chart that I mentioned earlier in the post, then I simply change the hex values to the ones I want, so that the logo will display properly. 'Cause that is what everyone wants.

    What I did was change
    Code:
    00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 28 00 29 00 2A 00 0B 00 0C 00 0D 00 0E 00 0F
    into
    Code:
    40 00 41 00 42 00 43 00 44 00 45 00 46 00 47 00 48 00 49 00 4A 00 4B 00 4C 00 4D 00 4E 00 4F 00 50 00 51 00 52 00 53 00 54 00 55 00 56 00 57 00 58 00 59 00 5A 00 5B 00 5C 00 5D 00 5E 00 5F 00 60 00 61 00 62 00 63 00 64 00 65 00 66 00 67 00 68 00 69 00 6A 00 6B 00 6C 00 6D 00 6E 00 6F
    Notice how I've changed those bytes into where it previously had a long line of "00"? That's because that particular area had nothing in it, and you see... Pokémon Black Version 2 logo needs to have those bytes counting on for it to display correctly and use the right graphics for the tiles. Another thing is... that the bytes for each square is written backwards, so if you're in the one hundreads already, you'd simply put "01" in the second byte after the first byte, as each square has two bytes, the unit and tens is the first, the hundreads and thousands is the second, like "BF 01" is "01 BF". If you import the NCGR file into the NARC and don't modify the NSCR file... the graphics will turn out like this:

    Now surely you don't want it to turn out like this, but hey... even if it doesn't turn out the way you want it, you can always check the chart you made, like the one I've made and fix the issue. It's a bit of trial and error, but you'll eventurally get there. After you've gotten the bytes corrected, it will turn out more like this:

    If you get the image in the way you want it to be, then horray! You've done it! You've managed to correct the bytes to right parts of the image. Now all I need to do is fix the bytes for the background aurora... alright... here we go!

    Yay! I've done it! ...Oh? Have you had some problems and stress out about it and find it confusing with knowing which hex values to edit for mapping the NSCR file? Well no problem, I can help you with that, I will give you the hex values of the unedited one and the one I've edited, so then you can compare it with the different bytes and change them so then you might learn something entirely new... which will help you with your ROM Hacking experience. ^^

    The logo (starts at 0x124 and ends at 0x4A3)

    Unedited
    Code:
    00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 28 00 29 00 2A 00 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 11 00 18 00 19 00 18 00 19 00 18 00 19 00 18 00 19 00 1A 00 1B 00 1C 00 1D 00 00 00 00 00 40 00 41 00 42 00 43 00 44 00 45 00 46 00 47 00 48 00 49 00 4A 00 4B 00 4C 00 4D 00 4E 00 4F 00 50 00 51 00 52 00 53 00 54 00 55 00 56 00 57 00 58 00 59 00 5A 00 5B 00 5C 00 5D 00 5E 00 5F 00 60 00 61 00 62 00 63 00 64 00 65 00 66 00 67 00 68 00 69 00 6A 00 6B 00 6C 00 6D 00 6E 00 6F 00 70 00 71 00 72 00 73 00 74 00 75 00 76 00 77 00 78 00 79 00 7A 00 7B 00 7C 00 7D 00 7E 00 7F 00 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00 88 00 89 00 8A 00 8B 00 8C 00 8D 00 8E 00 8F 00 90 00 91 00 92 00 93 00 94 00 95 00 96 00 97 00 98 00 99 00 9A 00 9B 00 9C 00 9D 00 9E 00 9F 00 A0 00 A1 00 A2 00 A3 00 A4 00 A5 00 A6 00 A7 00 A8 00 A9 00 AA 00 AB 00 AC 00 AD 00 AE 00 AF 00 B0 00 B1 00 B2 00 B3 00 B4 00 B5 00 B6 00 B7 00 B8 00 B9 00 BA 00 BB 00 BC 00 BD 00 BE 00 BF 00 C0 00 C1 00 C2 00 C3 00 C4 00 C5 00 C6 00 C7 00 C8 00 C9 00 CA 00 CB 00 CC 00 CD 00 CE 00 CF 00 D0 00 D1 00 D2 00 D3 00 D4 00 D5 00 D6 00 D7 00 D8 00 D9 00 DA 00 DB 00 DC 00 DD 00 DE 00 DF 00 E0 00 E1 00 E2 00 E3 00 E4 00 E5 00 E6 00 E7 00 E8 00 E9 00 EA 00 EB 00 EC 00 ED 00 EE 00 EF 00 F0 00 F1 00 F2 00 F3 00 F4 00 F5 00 F6 00 F7 00 F8 00 F9 00 FA 00 FB 00 FC 00 FD 00 FE 00 FF 00 00 01 01 01 02 01 03 01 04 01 05 01 06 01 07 01 08 01 09 01 0A 01 0B 01 0C 01 0D 01 0E 01 0F 01 10 01 11 01 12 01 13 01 14 01 15 01 16 01 17 01 18 01 19 01 1A 01 1B 01 1C 01 1D 01 1E 01 1F 01 20 01 21 01 22 01 23 01 24 01 25 01 26 01 27 01 28 01 29 01 2A 01 2B 01 2C 01 2D 01 2E 01 2F 01 30 01 31 01 32 01 33 01 34 01 35 01 36 01 37 01 38 01 39 01 3A 01 3B 01 3C 01 3D 01 3E 01 3F 01 40 01 41 01 42 01 43 01 44 01 45 01 46 01 47 01 48 01 49 01 4A 01 4B 01 4C 01 4D 01 4E 01 4F 01 50 01 51 01 52 01 53 01 54 01 55 01 56 01 57 01 58 01 59 01 5A 01 5B 01 5C 01 5D 01 5E 01 5F 01 60 01 61 01 62 01 63 01 64 01 65 01 66 01 67 01 68 01 69 01 6A 01 6B 01 6C 01 6D 01 6E 01 6F 01 70 01 71 01 72 01 73 01 74 01 75 01 76 01 77 01 78 01 79 01 7A 01 7B 01 7C 01 7D 01 7E 01 7F 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8B 01 8C 01 8D 01 8E 01 8F 01 90 01 91 01 92 01 93 01 94 01 95 01 96 01 97 01 98 01 99 01 9A 01 9B 01 9C 01 9D 01 9E 01 9F 01 00 00 00 00 00 00 00 00 00 00 00 00 86 01 87 01 88 01 89 01 8A 01 00 00 00 00 00 00 AE 01 AF 01 B0 01 B1 01 B2 01 B3 01 B4 01 B5 01 B6 01 B7 01 B8 01 B9 01 BA 01 BB 01 BC 01 BD 01 BE 01 BF 01
    Edited
    Code:
    40 00 41 00 42 00 43 00 44 00 45 00 46 00 47 00 48 00 49 00 4A 00 4B 00 4C 00 4D 00 4E 00 4F 00 50 00 51 00 52 00 53 00 54 00 55 00 56 00 57 00 58 00 59 00 5A 00 5B 00 5C 00 5D 00 5E 00 5F 00 60 00 61 00 62 00 63 00 64 00 65 00 66 00 67 00 68 00 69 00 6A 00 6B 00 6C 00 6D 00 6E 00 6F 00 70 00 71 00 72 00 73 00 74 00 75 00 76 00 77 00 78 00 79 00 7A 00 7B 00 7C 00 7D 00 7E 00 7F 00 80 00 81 00 82 00 83 00 84 00 85 00 86 00 87 00 88 00 89 00 8A 00 8B 00 8C 00 8D 00 8E 00 8F 00 90 00 91 00 92 00 93 00 94 00 95 00 96 00 97 00 98 00 99 00 9A 00 9B 00 9C 00 9D 00 9E 00 9F 00 A0 00 A1 00 A2 00 A3 00 A4 00 A5 00 A6 00 A7 00 A8 00 A9 00 AA 00 AB 00 AC 00 AD 00 AE 00 AF 00 B0 00 B1 00 B2 00 B3 00 B4 00 B5 00 B6 00 B7 00 B8 00 B9 00 BA 00 BB 00 BC 00 BD 00 BE 00 BF 00 C0 00 C1 00 C2 00 C3 00 C4 00 C5 00 C6 00 C7 00 C8 00 C9 00 CA 00 CB 00 CC 00 CD 00 CE 00 CF 00 D0 00 D1 00 D2 00 D3 00 D4 00 D5 00 D6 00 D7 00 D8 00 D9 00 DA 00 DB 00 DC 00 DD 00 DE 00 DF 00 E0 00 E1 00 E2 00 E3 00 E4 00 E5 00 E6 00 E7 00 E8 00 E9 00 EA 00 EB 00 EC 00 ED 00 EE 00 EF 00 F0 00 F1 00 F2 00 F3 00 F4 00 F5 00 F6 00 F7 00 F8 00 F9 00 FA 00 FB 00 FC 00 FD 00 FE 00 FF 00 00 01 01 01 02 01 03 01 04 01 05 01 06 01 07 01 08 01 09 01 0A 01 0B 01 0C 01 0D 01 0E 01 0F 01 10 01 11 01 12 01 13 01 14 01 15 01 16 01 17 01 18 01 19 01 1A 01 1B 01 1C 01 1D 01 1E 01 1F 01 20 01 21 01 22 01 23 01 24 01 25 01 26 01 27 01 28 01 29 01 2A 01 2B 01 2C 01 2D 01 2E 01 2F 01 30 01 31 01 32 01 33 01 34 01 35 01 36 01 37 01 38 01 39 01 3A 01 3B 01 3C 01 3D 01 3E 01 3F 01 40 01 41 01 42 01 43 01 44 01 45 01 46 01 47 01 48 01 49 01 4A 01 4B 01 4C 01 4D 01 4E 01 4F 01 50 01 51 01 52 01 53 01 54 01 55 01 56 01 57 01 58 01 59 01 5A 01 5B 01 5C 01 5D 01 5E 01 5F 01 60 01 61 01 62 01 63 01 64 01 65 01 66 01 67 01 68 01 69 01 6A 01 6B 01 6C 01 6D 01 6E 01 6F 01 70 01 71 01 72 01 73 01 74 01 75 01 76 01 77 01 78 01 79 01 7A 01 7B 01 7C 01 7D 01 7E 01 7F 01 80 01 81 01 82 01 83 01 84 01 85 01 86 01 87 01 88 01 89 01 8A 01 8B 01 8C 01 8D 01 8E 01 8F 01 90 01 91 01 92 01 93 01 94 01 95 01 96 01 97 01 98 01 99 01 9A 01 9B 01 9C 01 9D 01 9E 01 9F 01 A0 01 A1 01 A2 01 A3 01 A4 01 A5 01 A6 01 A7 01 A8 01 A9 01 AA 01 AB 01 AC 01 AD 01 AE 01 AF 01 B0 01 B1 01 B2 01 B3 01 B4 01 B5 01 B6 01 B7 01 B8 01 B9 01 BA 01 BB 01 BC 01 BD 01 BE 01 BF 01 C0 01 C1 01 C2 01 C3 01 C4 01 C5 01 C6 01 C7 01 C8 01 C9 01 CA 01 CB 01 CC 01 CD 01 CE 01 CF 01 D0 01 D1 01 D2 01 D3 01 D4 01 D5 01 D6 01 D7 01 D8 01 D9 01 DA 01 DB 01 DC 01 DD 01 DE 01 DF 01 E0 01 E1 01 E2 01 E3 01 E4 01 E5 01 E6 01 E7 01 E8 01 E9 01 EA 01 EB 01 EC 01 ED 01 EE 01 EF 01 F0 01 F1 01 F2 01 F3 01 F4 01 F5 01 F6 01 F7 01 F8 01 F9 01 FA 01 FB 01 FC 01 FD 01 FE 01 FF 01
    The aurora background (starts at 0x2F and ends at 0x223)

    Unedited
    Code:
    C1 01 C2 01 C3 01 C4 01 C5 01 C6 01 C7 01 C8 01 C1 01 C2 01 C3 01 C4 01 C5 01 C6 01 C7 01 C8 01 C1 01 C2 01 C3 01 C4 01 C5 01 C6 01 C7 01 C8 01 C1 01 C2 01 C3 01 C4 01 C5 01 C6 01 C7 01 C8 01 C9 01 CA 01 CB 01 CC 01 CD 01 CE 01 CF 01 D0 01 C9 01 CA 01 CB 01 CC 01 CD 01 CE 01 CF 01 D0 01 C9 01 CA 01 CB 01 CC 01 CD 01 CE 01 CF 01 D0 01 C9 01 CA 01 CB 01 CC 01 CD 01 CE 01 CF 01 D0 01 D1 01 D2 01 D3 01 D4 01 D5 01 D6 01 D7 01 D8 01 D1 01 D2 01 D3 01 D4 01 D5 01 D6 01 D7 01 D8 01 D1 01 D2 01 D3 01 D4 01 D5 01 D6 01 D7 01 D8 01 D1 01 D2 01 D3 01 D4 01 D5 01 D6 01 D7 01 D8 01 D9 01 DA 01 DB 01 DC 01 DD 01 DE 01 DF 01 E0 01 D9 01 DA 01 DB 01 DC 01 DD 01 DE 01 DF 01 E0 01 D9 01 DA 01 DB 01 DC 01 DD 01 DE 01 DF 01 E0 01 D9 01 DA 01 DB 01 DC 01 DD 01 DE 01 DF 01 E0 01 E1 01 E2 01 E3 01 E4 01 E5 01 E6 01 E7 01 E8 01 E1 01 E2 01 E3 01 E4 01 E5 01 E6 01 E7 01 E8 01 E1 01 E2 01 E3 01 E4 01 E5 01 E6 01 E7 01 E8 01 E1 01 E2 01 E3 01 E4 01 E5 01 E6 01 E7 01 E8 01 E9 01 EA 01 EB 01 EC 01 ED 01 EE 01 EF 01 F0 01 E9 01 EA 01 EB 01 EC 01 ED 01 EE 01 EF 01 F0 01 E9 01 EA 01 EB 01 EC 01 ED 01 EE 01 EF 01 F0 01 E9 01 EA 01 EB 01 EC 01 ED 01 EE 01 EF 01 F0 01 F1 01 F2 01 F3 01 F4 01 F5 01 F6 01 F7 01 F8 01 F1 01 F2 01 F3 01 F4 01 F5 01 F6 01 F7 01 F8 01 F1 01 F2 01 F3 01 F4 01 F5 01 F6 01 F7 01 F8 01 F1 01 F2 01 F3 01 F4 01 F5 01 F6 01 F7 01 F8 01 F9 01 F9 01 F9 01 FA 01 FB 01 FC 01 F9 01 F9 01 F9 01 F9 01 F9 01 FA 01 FB 01 FC 01 F9 01 F9 01 F9 01 F9 01 F9 01 FA 01 FB 01 FC 01 F9 01 F9 01 F9 01 F9 01 F9 01 FA 01 FB 01 FC 01 F9 01 F9 01
    Edited
    Code:
    01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 00 09 00 0A 00 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 09 00 0A 00 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 09 00 0A 00 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 09 00 0A 00 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 19 00 1A 00 1B 00 1C 00 1D 00 1E 00 1F 00 20 00 19 00 1A 00 1B 00 1C 00 1D 00 1E 00 1F 00 20 00 19 00 1A 00 1B 00 1C 00 1D 00 1E 00 1F 00 20 00 19 00 1A 00 1B 00 1C 00 1D 00 1E 00 1F 00 20 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 28 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 28 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 28 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00 28 00 29 00 2A 00 2B 00 2C 00 2D 00 2E 00 2F 00 30 00 29 00 2A 00 2B 00 2C 00 2D 00 2E 00 2F 00 30 00 29 00 2A 00 2B 00 2C 00 2D 00 2E 00 2F 00 30 00 29 00 2A 00 2B 00 2C 00 2D 00 2E 00 2F 00 30 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00 38 00 31 00 39 00 39 00 3A 00 3B 00 3C 00 39 00 39 00 39 00 39 00 39 00 3A 00 3B 00 3C 00 39 00 39 00 39 00 39 00 39 00 3A 00 3B 00 3C 00 39 00 39 00 39 00 39 00 39 00 3A 00 3B 00 3C 00 39 00 39 00
    Oh, would you also like to have the logos of Pokémon Black Version 2 and White Version 2 as well? Well that's fine, I can indeed give you the logos as well, I'm sure it will help you with experimenting with the logo before you start making a ROM Hack or something with them. Well, here they are:


    But wait, we're not done yet. xD

    Compressing the files
    Since Tinke 0.8.2 cannot save and CrystalTile2 crashes upon attempting to compress the files... we've only got one option... which is DSDecmp. So you're wondering... how do you use this? Well it's rather simple, open up a Command Prompt by clicking Start, in the search box type "cmd" and click "Command Prompt", after that... type in the directory that DSDecmp is in (eg. cd My Documents, cd DSDecmp5a2) and then once you're in the DSDecmp directory, firstly... make sure that the NSCR files that you'd want to compress are in there. If they are, then type in "DSDecmp -c -opt [file name] [output name]", or if you'd like the compressed file to appear in a folder, type in "DSDecmp -c -opt -ge [file name] [output name]". Once they're compressed, then import them using CrystalTile2 and then... OH NO! It crashed! But don't worry, let's try using a different program so that you won't make the same mistake as I did. Let's use... hm... oh dear... looks like there isn't any way to replace the files in an NARC file... looks like we'll have to do it the hard way, aww. Oh well, here we go.

    Putting the data into the NARC manually
    Well, looks like we're gonna have to do it the hard way, since CrystalTile2 crashes and Tinke 0.8.2 just simply won't save it. Okay then, lets open up HxD and CrystalTile2. Locate the offset using CrystalTile2, copy the offset of each file and in HxD, click Search > Goto and type in the offset you copied from CrystalTile2. After you've done that, check the offset for the next file, so that you'll know when the end of the file will be. Open up the modified file in HxD, copy all of it's data, go back to the tab with the NARC, starting from the offset the file is on and select all the bytes going down to offset closest to the next file, then paste! Just like that! And repeat the same step for each file you'd like to replace. This is how it's done manually!

    Success!
    Alright, looks like we're all done here, now let me showcase to you... my Pokémon Black Version 2 to look like the official English version! Yay! I can't believe I did it! All in a nights work had finally paid off! ^^
    Spoiler!


    Ah yes, and incase you're wondering about the "Press Start" graphics, I did indeed insert the one from the very first Pokémon Black, because they have the exact same "Press Start" graphics, so I imported them from there.

    Now you've completely changed the NSCR file you've wanted to change, this is one of the steps towards NDS ROM Hacking. The Nintendo DS is very well suited for developers, after all... it's called a "Developers System" for a reason, y'know. xD

    Yes... as most of you have already guessed, "DS" in "Nintendo DS" does stand for "Developers' System" as said way back at E3 2004.

    Well anyways, I hope you've all found this tutorial very helpful, I'm sure this will indeed help you towards the depths of NDS ROM Hacking, we're coming into a new era of ROM Hacking!
    Last edited by Platinum Lucario; 07-28-2012 at 06:12 PM. Reason: Changed the link that linked to a different forum to the tutorial on this forum

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •