[FE6/GBA] Possible to increase the maximum character limit in a Support conversation?

#1

Back for the first time in like a year with a new question, again relating to supports in FE6, though I suppose it can be relevant to all the GBA titles.

While messing with custom supports, I’ve noticed that if it runs too long, it eventually just cuts itself off and the conversation ends early (though the Support rank will advance as it should). Looking at the text editors, I can see that long conversations are automatically cut off after a certain point once I hit that ‘Apply’ button.

Clearly there is an upper character limit that can be employed in Support conversations, so I was wondering if it was possible to extend that limit. Where would the dictating value he stored, and is editing it possible without breaking things?

#2

What are you using to edit this? This shouldn’t be an issue if the text is repointed, to my understanding.

#3

If the text of the conversation exceeds approximately 3000-4000 bytes, the behavior becomes suspicious.
I think that is probably because it exceeds the buffer limit for displaying text.

The game freezes when I see an error I have encountered trying to display a conversation that is too long.

#4

Sorry for the late response; I’ve tried using both FEditor’s text tool and also text editing in FE Builder. In Builder, I can see a size byte indicator when editing, but nothing that indicates a maximum size constraint, or a means of increasing that via repointing.

#5

I’ve never experienced a freeze, myself, all I ever experience is the conversation just cuts off if it gets too long, and then gameplay resumes. Do you know where the game stores this buffer limit, or if it can be manually adjusted?

#6

The upper limit of the text buffer is not yet known.
I think that is about 3000-4000 bytes.
I encountered problems in the conversation of the event, not the supportive conversation.
Writing too long text will broken the game.

I do not know if your problem is the same problem.
However, when you encountered a problem when you made a conversation that was too long,
I think like a similar problem.

There is currently no workaround.
You only have to shorten the conversation.
For events, you can split it into multiple conversations.
However, in the case of Support, since division is impossible, I think that there is nothing but cutting a conversation.
The first thing you need to do is find out how it works correctly.
Erase the text and find the range that works properly.
Maybe it may be a different problem.
Either way, there is no alternative to trying it out.

#8

Ah, that’s quite unfortunate…

Here’s a thought though. When you initiate a Support conversation, that is an event, right? Would it be possible to find the event trigger for a support conversation and then have the event feature multiple separate dialog instances, like a chapter event would?

#9

Support conversation is not an event.
Therefore, it can not be divided.

I felt that there was a patch to implement the support conversation at the event,
but I couldn’t find it.

First of all, if you reduce the text, you need to find out if it works.
If the number of text is a problem, I can not divide it, so I think you can only delete it.

#10

Yes, unfortunately I’ve already concluded that the only way to solve the problem is to reduce the amount of text. Since I can’t seem to find anywhere within the game’s coding that specifically dictates that limit, I have no practical means of trying to extend it, so yeah, I suppose for now I’ll just have to reduce the text size. I might research this some more though, report any updated findings here.

#11

I doubt this is a limit that you could just extend, the game has this limit because otherwise the text would start overwritting other stuff in ram, which would break more stuff.

The correct way to “fix” this would be to make something that reloads the text from a new offset after half of the text in the buffer has been displayed and a code to wait for a button press is found, or something like that.

#12

see that’s actually what I was hoping to find when I made this topic, but it seems no one is super clued in on any methods for that at the moment.