Jump to content

Help with FE4 text editing


Anseraphel/RCFD
 Share

Recommended Posts

On 17/08/2017 at 2:53 PM, Anseraphel/RCFD said:

Hello! I would like some help/a tutorial about how to edit texts in Fire Emblem 4. I tried to use the script dumper and inserter from the link with that post but I can't find how to make it work :/ Thanks in advance for your help!

consult my FE4 stuff for tools relating to text and other things

  • the FE4EasyText patch allows for typing in text directly to a hex editor, although I don't know if a proper text parser is public yet
  • the old fe4hackdocs has information on dialogue text codes so you can type them in manually in said hex editor
  • menutext.txt contains hex codes for finding and editing menu text, however you must learn how to use pointers in order to change the lengths for each string
Edited by Lamia
Link to comment
Share on other sites

 

14 hours ago, Lamia said:

consult my FE4 stuff for tools relating to text and other things

  • the FE4EasyText patch allows for typing in text directly to a hex editor, although I don't know if a proper text parser is public yet
  • the old fe4hackdocs has information on dialogue text codes so you can type them in manually in said hex editor
  • menutext.txt contains hex codes for finding and editing menu text, however you must learn how to use pointers in order to change the lengths for each string

Well I tried to look at the easy text patch through an hex editor and didn't really understand what to do.

Here are the only texts I found with a ROM patched with the EasyText patch, and I have no idea how to edit them

http://imgur.com/fKkQ2nd

http://imgur.com/RrpvU0h

Link to comment
Share on other sites

2 hours ago, Anseraphel/RCFD said:

 

Well I tried to look at the easy text patch through an hex editor and didn't really understand what to do.

Here are the only texts I found with a ROM patched with the EasyText patch, and I have no idea how to edit them

http://imgur.com/fKkQ2nd

http://imgur.com/RrpvU0h

it's done in a few easy steps...

  1. find the dialogue in the game you want to change (which means PLAYING the game)
  2. observe the text and numbers in the conversation
  3. use the Find feature in the hex editor to find exactly what you're looking for (hex codes displayed in the text boxes)
  4. if actual symbols are in-between hex numbers, use your hex editor's text > hex function if it has one (I use XVI32 which does)
  5. type in what you want in the hex editor, while taking note of the proper dialogue codes in the fe4hackdocs dialogue scripting info
  6. save and check on it in-game
Edited by Lamia
Link to comment
Share on other sites

10 hours ago, Lamia said:

it's done in a few easy steps...

  1. find the dialogue in the game you want to change (which means PLAYING the game)
  2. observe the text and numbers in the conversation
  3. use the Find feature in the hex editor to find exactly what you're looking for (hex codes displayed in the text boxes)
  4. if actual symbols are in-between hex numbers, use your hex editor's text > hex function if it has one (I use XVI32 which does)
  5. type in what you want in the hex editor, while taking note of the proper dialogue codes in the fe4hackdocs dialogue scripting info
  6. save and check on it in-game

I would just need few more tips (I think, no idea if I'll really need few tips or much more):

-First of all, how do I get edits in English? I tried to use letters on a Japanese ROM but it still uses Japanese symbols, and if I try to change the same text on the same ROM but with a patch it doesn't do anything. Here are the edit I made to test:

http://imgur.com/oJ3FF8j That one is the edited text

http://imgur.com/amRWykD That one is the not edited text

 

-Second, how do you edit menu texts (weapons names, character names, class names etc.)? In the easy text patch they aren't changed and so I can't find them with the hex editor.

For the moment these are the only questions I have. Sorry again for my total cluelessness, I am totally new to FE4 hacking.

Link to comment
Share on other sites

1 hour ago, Anseraphel/RCFD said:

-First of all, how do I get edits in English? I tried to use letters on a Japanese ROM but it still uses Japanese symbols, and if I try to change the same text on the same ROM but with a patch it doesn't do anything.

that's because you're not using a proper version... regular text tiles are made to use japanese symbols

use the FE4EasyText patch on the ROM, by hard patching it with lunar IPS or something

1 hour ago, Anseraphel/RCFD said:

Second, how do you edit menu texts (weapons names, character names, class names etc.)?

I added a menutext.txt to the fe4hackdocs download, which contains info on the j2e-based letter codes

for some reason it was missing... I must have forgotten to re-add it when I needed to reupload it

Edited by Lamia
Link to comment
Share on other sites

10 hours ago, Lamia said:

I added a menutext.txt to the fe4hackdocs download, which contains info on the j2e-based letter codes

for some reason it was missing... I must have forgotten to re-add it when I needed to reupload it

I managed to edit texts in english now, but I can't how to edit menus with the fe4hackdocs, even with the menutext.txt. How do you do it? Unless something else happens this should be my last question.

Link to comment
Share on other sites

3 hours ago, Anseraphel/RCFD said:

I managed to edit texts in english now, but I can't how to edit menus with the fe4hackdocs, even with the menutext.txt. How do you do it? Unless something else happens this should be my last question.

search for what symbols you need to change and then change them in the hex editor, simple as that

each symbol in menu text is 2 bytes, and you end a string with 00 00. don't worry, you'll get the hang of it

the 'name pointer' modules in my nightmare pack are a reference tool you can use and will probably need in order to rework the various names. windows's calculator in programmer mode allows you to use hexadecimal math, which will be useful in utilizing pointers

(you might need to redownload my pack since I double checked to make sure I had certain fixes)

for example...

  1. sigurd, as you can see in the Character Editor, has 00 for his name number. that's what name he uses
  2. open up the Char Name Pointer Editor and take a look at the entry for 00
  3. take the 'base' hex address listed in the nightmare module's name, and add it to the hex for name #00 (and don't forget to reverse the bytes for the name pointer before inputting it into the calculator)
  4. once you have the result, go to that address in a hex editor. sigurd's name will be there, at $3A0CD
Edited by Lamia
Link to comment
Share on other sites

2 hours ago, Lamia said:
  1. sigurd, as you can see in the Character Editor, has 00 for his name number. that's what name he uses
  2. open up the Char Name Pointer Editor and take a look at the entry for 00
  3. take the 'base' hex address listed in the nightmare module's name, and add it to the hex for name #00 (and don't forget to reverse the bytes for the name pointer before inputting it into the calculator)
  4. once you have the result, go to that address in a hex editor. sigurd's name will be there, at $3A0CD

I am sorry but I don't know what to do for the third step. I looked at the entry for 00 on Nightmare (the 74 04) but then I don't understand what to do.

http://imgur.com/ezQup7f

Link to comment
Share on other sites

2 hours ago, Anseraphel/RCFD said:

I am sorry but I don't know what to do for the third step. I looked at the entry for 00 on Nightmare (the 74 04) but then I don't understand what to do.

http://imgur.com/ezQup7f

 

4 hours ago, Lamia said:

(you might need to redownload my pack since I double checked to make sure I had certain fixes)

 

Link to comment
Share on other sites

5 hours ago, Lamia said:

(you might need to redownload my pack since I double checked to make sure I had certain fixes)

I redownloaded it but it still has the same values as the module I used before. What I meant is that I didn't understand what I had to do for the third step.

Link to comment
Share on other sites

1 minute ago, Anseraphel/RCFD said:

I redownloaded it but it still has the same values as the module I used before. What I meant is that I didn't understand what I had to do for the third step.

the module's name has a 'base' shown which is the reference point for the pointers

HBjdeF2.png

Link to comment
Share on other sites

1 minute ago, Anseraphel/RCFD said:

Alright, and what do I do with this 'base'? It is that part that I don't understand.

39C59 + 474 = name address for entry 00 (sigurd)

Edited by Lamia
Link to comment
Share on other sites

1 minute ago, Anseraphel/RCFD said:

Sorry for my cluelessness, but how do I get 39C59+474?

 

5 hours ago, Lamia said:

take the 'base' hex address listed in the nightmare module's name, and add it to the hex for name #00 (and don't forget to reverse the bytes for the name pointer before inputting it into the calculator)

 

Link to comment
Share on other sites

5 hours ago, Lamia said:
  1. take the 'base' hex address listed in the nightmare module's name, and add it to the hex for name #00 (and don't forget to reverse the bytes for the name pointer before inputting it into the calculator)

What I don't understand is the "add it to the hex for name #00 (and don't forget to reverse the bytes for the name pointer before inputting it into the calculator)" part, how do I do it?

Link to comment
Share on other sites

1 minute ago, Anseraphel/RCFD said:

What I don't understand is the "add it to the hex for name #00 (and don't forget to reverse the bytes for the name pointer before inputting it into the calculator)" part, how do I do it?

 

5 hours ago, Lamia said:

windows's calculator in programmer mode allows you to use hexadecimal math, which will be useful in utilizing pointers

please read my posts

Edited by Lamia
Link to comment
Share on other sites

17 minutes ago, Lamia said:

I said that the bytes needed to be reversed, numbers count upward, not backward, but programming generally reads numbers from right to left

74 04 = 0474

Alright, but where does the 39C59 come from? I searched in the files and read your posts but didn't understand where it came from.

Link to comment
Share on other sites

3 hours ago, Anseraphel/RCFD said:

Alright, but where does the 39C59 come from? I searched in the files and read your posts but didn't understand where it came from.

HBjdeF2.png

(base $39C59)

So um is forgetting stuff your special technique or what

if yes let me explain everything to you in 1 post

1: open that module

2: get the id of the name you want to edit

3: reverse the byte on that value(for example, 74 04 = 0x0474)

4: add that to the base value(base $39C59) = $39C59 + $474 = $3a0cd = the offset of your text 

Link to comment
Share on other sites

  • 5 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...