Hex Edit adding Space

Discussion in 'NDS - ROM Hacking and Translations' started by Shiro09, Jul 28, 2010.

  1. Shiro09
    OP

    Shiro09 AAI2 Localisation Team

    Member
    764
    41
    May 4, 2010
    Hello people it's me again.

    I was wondering when I change the Japenese characters to english there is a shortage of room.
    eg: 石田雨竜 (4 spaces) --- Uryuu Ishida (12 spaces[including space])
    How do I add more space?
     
  2. Phoenix Goddess

    Phoenix Goddess The Ninja's Protégée

    Member
    3,810
    893
    Apr 25, 2009
    United States
    Away from civilization.
    Change the pointers or or the bytes, but I think changing bytes have to do with ASM knowledge, which is something I don't quite have.
     
  3. ShinRyouma

    ShinRyouma GBAtemp Advanced Fan

    Member
    956
    2
    Dec 6, 2008
    Indonesia
    Surabaya
    I think it can be solved with a text editor (extract and re-insert text), to make a text editor you need to learn C++ or C# or other language program, or you can ask an advanced romhacker to build it for you [​IMG]
    But a text editor only works for 1 game, for another game you need to build another text editor.
     
  4. Shiro09
    OP

    Shiro09 AAI2 Localisation Team

    Member
    764
    41
    May 4, 2010
    I tried finding pointers but I dont get how are pointers on the side of the text if not i dont know what a pointer is.
    ShinRyouma: I think it can be solved with a text editor (extract and re-insert text), to make a text editor you need to learn C++ or C# or other language program, or you can ask an advanced romhacker to build it for you
    But a text editor only works for 1 game, for another game you need to build another text editor.
    Will it work for something like a wii game in just saying...?
     
  5. ShinRyouma

    ShinRyouma GBAtemp Advanced Fan

    Member
    956
    2
    Dec 6, 2008
    Indonesia
    Surabaya
    Translating PSP games are harder than NDS games, so I'm sure doing on Wii games are much harder, but I'm not saying it's impossible to be done. If you know a lot of language program it'll help a lot. Interested in learning C++, C#, etc? [​IMG]
     
  6. Shiro09
    OP

    Shiro09 AAI2 Localisation Team

    Member
    764
    41
    May 4, 2010
    Yeah, care to teach me?
     
  7. Phoenix Goddess

    Phoenix Goddess The Ninja's Protégée

    Member
    3,810
    893
    Apr 25, 2009
    United States
    Away from civilization.
    Actually, you should probably start with C#, it's easier than C++ in my opinion and you can use it to write programs, so it's just as beneficial.

    You can google a C# tutorial.
     
  8. Shiro09
    OP

    Shiro09 AAI2 Localisation Team

    Member
    764
    41
    May 4, 2010
    Thanks again, so are pointers the letters and numbers on the side of the text?
     
  9. Phoenix Goddess

    Phoenix Goddess The Ninja's Protégée

    Member
    3,810
    893
    Apr 25, 2009
    United States
    Away from civilization.
    Those are just where sentences stop, null characters.
    Pointers are usually before the script which are hex codes.
    Take a look here on jjjewel's translation site for Tokimeki Memorial 1st Love Plus.
    http://sites.google.com/site/tokimemogs1/technical-stuff

    For some pointers, you have to switch around the bytes cause they're read backwards.
    Take a look at the header in Tokimeki Memorial 1st Love Plus and find the numbers that are after 00 that aren't 00.
    Let's say you see F0 0A, if you read it backwards it's 0AF0, you put the second byte first.
    Go to the offset in the properties section of CT2 and type in 0AF0, you'll get the script offset.
    The previous pointers points to the name of the file, what events go with the script and the speaker list.

    Hope that helps somewhat.
     
  10. nIxx

    nIxx GBAtemp Advanced Maniac

    Member
    1,541
    81
    Sep 30, 2007
    Gambia, The
    Germany
    You will need to reverse the file format, find the offsets that point to the strings/text and most likely more (text length, total filesize and so) to proper rebuild the file with the text.

    Here a simple example if you have offsets like:

    0x1A 0x27 0x35 0x..

    string 1 would start on 0x1A and since the next string is at 0x27 the length of string 1 would be 0x0D = 13 bytes
    string 2 would start on 0x27 next string is at 0x35 the length of string 2 would be 0x0E = 14 bytes
    and so on

    So if you then want to make it possible to add a longer string you would change 0x27 to whatever you need.

    Anyway like it was said you should learn C# or whatever programming/scripting language you like, to write you an editor application that does that for you automaticly.

    And by the way it´s not really harder to translate a Wii game or whatever it just always depends on how the developer made the files like are they compressed.

    PS: a good site with many tutorials is romhacking.net not so much for actuall games but it´s a good start to learn the basics since it´s still in newer games pretty similar (except for compressions or you need to mess around with Big btw Little Endian or such stuff)
     
  11. Shiro09
    OP

    Shiro09 AAI2 Localisation Team

    Member
    764
    41
    May 4, 2010
    Thanks phoenixgoddess and nIxx. Great help. [​IMG]
     
  12. Phoenix Goddess

    Phoenix Goddess The Ninja's Protégée

    Member
    3,810
    893
    Apr 25, 2009
    United States
    Away from civilization.

    No problem [​IMG]
    If you need more help, let me know.
     
  13. ShinRyouma

    ShinRyouma GBAtemp Advanced Fan

    Member
    956
    2
    Dec 6, 2008
    Indonesia
    Surabaya
    @ 6Toushiro9 : I haven't learnt C# or C++, but maybe I'll learn if I have some free time [​IMG]

    romhacking.net/start is the site where I learn basic romhacking. The documents are easy to understand because they use simple English (my English is bad).

    Well, good luck [​IMG]
     
  14. Shiro09
    OP

    Shiro09 AAI2 Localisation Team

    Member
    764
    41
    May 4, 2010
    Thanks Ive been on that website. [​IMG]