Jump to content

FE6 Support Convo Availability?


Kiseki
 Share

Recommended Posts

As many people probably know, there isn't such thing as a Support Convo Availabilty Nightmare module for FE6. One exists for both FE7 and FE8.

However, upon closer examination at experiments with support points, I found that the creation of such module is completely possible.

I noticed that when looking at the script through FEditor, something peculiar struck me odd regarding the support conversations: They were placed in the script in a set order that starts with Roy's pairings then Clarine's and so on, except not counting repeat pairings (or when the pairing would've appeared again). If anyone recalls correctly, this is the order that the character appears in the Character Editor module (ie. 0x01=Roy, 0x02=Clarine, 0x03=Fae and so on). One theory I had regarding this peculiar ordering was:

idnK2W9.png

"If I were to manually remove some pairings using the Support Points Editor (oddly referred to simply as 'Support Editor'), then that would 'bump up' some pairings but cause the text to remain the same. This would mean that when removing Roy x Sophia/Sue/Shanna/Lalum (Roy's 1+1 pairings, total is 4 pairings) from both ends of the pairing (ie. Remove it from Roy then remove it from the other character), then if I were to have Roy and Allen support, then Roy and Sophia's conversation would show even though it's Allen speaking to Roy."

Of course, I tested this myself, only to still see Roy and Allen's conversation and get proven wrong. This alone shows that it is entirely possible to make a Nightmare module for this. The only problem is that not only do I have no idea where that specific data is located in the ROM thanks to my lack of knowledge in hex editing, but I have no idea how exactly Nightmare modules are created. If someone would be so kind as to help, that would be great.

Here's a list of the Support Text Offsets for FE6:

FE6 Support Text Offsets.txt

I'm not even sure this is the right place to post this...

Edited by Kiseki
Link to comment
Share on other sites

I don't know what level of ability you're at when it comes to romhacking, so I'm going to lay out a few methods:

If you know the location of the pointer to Roy/Allen's conversation, you can set a break-on-read to there, and then just backtrace the routine to get the relevant data array. This is the fastest method but is probably the most complex.

Barring that, you can use what you know of the format of FE7's data (from viewing the nightmare module or whatever), and create a "dummy" entry that would theoretically correspond to Roy/Allen's entry in the table. You can then search for that data in the ROM, then visually search for the start of the table (and thus make a module that way)

Option three is to look around for 0C 03 00 00 (the index of Roy/Lilina's conversation, byte reversed) in a hex editor, then see if it's near 0D 03 00 00 and 0E 03 00 00 (you can replace these with any other random support text indexes, provided that they all correspond to the same pair of units). This is the fastest method but the most error-prone

(on a side note i would honestly have been more surprised if your test had worked)

Edited by CT075
Link to comment
Share on other sites

Barring that, you can use what you know of the format of FE7's data (from viewing the nightmare module or whatever), and create a "dummy" entry that would theoretically correspond to Roy/Allen's entry in the table. You can then search for that data in the ROM, then visually search for the start of the table (and thus make a module that way)

Man I haven't done something like that (or needed to) in years. It definitely works, though. Not knowing how to use a debugger for reverse engineering stuff is just begging for headaches but intuition will always be the best tool.

Link to comment
Share on other sites

I don't know what level of ability you're at when it comes to romhacking, so I'm going to lay out a few methods:

If you know the location of the pointer to Roy/Allen's conversation, you can set a break-on-read to there, and then just backtrace the routine to get the relevant data array. This is the fastest method but is probably the most complex.

Barring that, you can use what you know of the format of FE7's data (from viewing the nightmare module or whatever), and create a "dummy" entry that would theoretically correspond to Roy/Allen's entry in the table. You can then search for that data in the ROM, then visually search for the start of the table (and thus make a module that way)

Option three is to look around for 0C 03 00 00 (the index of Roy/Lilina's conversation, byte reversed) in a hex editor, then see if it's near 0D 03 00 00 and 0E 03 00 00 (you can replace these with any other random support text indexes, provided that they all correspond to the same pair of units). This is the fastest method but the most error-prone

(on a side note i would honestly have been more surprised if your test had worked)

Other than basic Nightmare editing and animation/portrait/text inserting, I know pretty much nothing on hex editing, which should say what my level of ability is. I'll try the options you listed and see what I get.

Had that test of mine worked, it would explain so much of FE6's simplicity compared to FE7.

Update #1: Wait, I think I found the data!

g3s3HYZ.png [starts at 00666CF8. Ends at 6675E7.]

[1st byte=Roy. 2nd=Lilina. 2 separator bytes. C Support offset then B and A. Next pair with Marcus and so on]

Started with option 3 because you said it was the fastest. I'll have a closer look at the data from here.

Until the Nightmare module is actually made (if I can even do that), I'm going to have to edit this raw until then if I'm going to use custom supports for FE6.

Update #2: So far the data corresponds with the list I made perfectly. As far as I'm aware, there isn't another table like this in the ROM, so this must be it.

Update #3: AHA! That IS the data for the support conversations!

ktmAz9e.png

hNBHsuZ.png

[Edited C Support.]

I replaced the byte for Roy/Marcus's C Support with Fae/Sophia's C Support (39 03 00 00 or 0339) and this is what I get.

I feel accomplished.

Update #4: SUCCESS! I have made a working Nightmare module on my first try!

gclv75C.png

Download: https://www.dropbox.com/s/k4witsrxo5lpqcb/FE6%20Support%20Convo%20Availability.zip

Surprised nobody tried to make one in the first place. It's much more simpler than I thought.

Edited by Kiseki
Link to comment
Share on other sites

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...