FE_Builder_GBA -- If you have any questions, attach report7z

The translation of midori is supposed to substitute the double alphabet.
You have to know about half-width(single byte) fonts and double(multi byte) fonts.

  1. Eirika
  2. Eirika

(1) is half-width(single byte) font.
It is an alphabet expressed in the range of ASCII.
Since ASCII is the de facto standard format, it can be used on PCs all over the world.

However, in Japanese ROM like FE8J, drawing can not be done as it is.
Japanese ROM is operated by SJIS double font (multibyte).

(2) is a double byte(multi byte) font.
It is used in multibyte language sphere.
Encoding changes according to each encoding method such as SJIS and Unicode.

The translation of midori is made using the double byte alphabet.
This is because there was no way to display half-width fonts (single byte) with FE8J at the time this was made.

If you are typing in single bytes, you need to insert a patch (DrawSingleByte) that draws half-width bytes and then obtain a font for single byte.

The story of midori is almost the same as the scenario of FE8.
There are some arrangements, but the scenarios are almost the same.

Not sure if it’s perfect, but I think that helped a bit, thank you! I’ll have more time to mess around with it tomorrow.

And yeah, I know the story’s not too different in Midori, just wanted to do some editing for some personal custom little things here and there.

I would like to briefly explain how to convert pointers.

For example, suppose that there is ASMC (0x48281) on FE8U.
Let’s calculate FE8J of this.
(The answer is FE8J: 0x48198 + 1.)

First, since the pointer is odd, it needs to be -1.

In ARM ASM specification, thumb code is because there is a rule to make it + 1 and odd.
Therefore, return -1 by doing -1.

0x48281 - 1 = 0x48280

Next, read the ROM of FE8U with FEBuilderGBA.

Menu → Tool → Pointer Calculation tool
Please enter 0x48280 in the place of Pointer.

Next, click the “Load Another ROM” button and specify the ROM of FE8J.

Please wait for a few seconds.

The address is displayed.
0x08048198

Because it is pointerized, it is + 0x08000000.

0x08048198 - 0x08000000 = 0x48198

When calling with ASMC, it needs to be +1.
FE8J: 0x48198 + 1
ASMC(0x48198+1)

It is the same as the answer value.

Sometimes It make a mistake, but It will tell you the correct answer with about 80% probability.
Of course, conversion exceeding the version such as FE 8 → FE 7, FE 7 → FE 8 is also possible.

In terms of mechanism, the address of the entry of the function is the highest percentage of correct answers.
This magic is implemented by searching patterns by matching ROM.

Version: 20180830.19 has been released.
In this version, I fixing the part that imports battle animation and magic animation.
If you find a bug related to these, please let me know.

2 Likes

The god, the savior

Apologies for one more probably dumb question. Is there anything I can easily do to expand a ROM’s free space if I’m running into “The ROM has run out of free space.”? Seems I can’t do too much without running into it in certain areas.

For FE 8, you can use ROM Rebuild.
https://ngmansion.xyz/wiki/hackfe/index.php?cmd=read&page=解説%2FFEBuilderGBA%2FREBUILD.en

Of course there is risk, so please get backeup in run.
Also, a clear test is required after Rebuild.

Please use if ROM is likely to exceed 32MB.
(It is dangerous to abuse this function.)

FE7’s rebuild tool shouldn’t be used then? Is there a way to have it work if needed?

There is a high possibility that the rebuild will fail because FE 7 has many data structures which are not known yet.

Although the 天地の剣 worked, but did not work with TLP and Dream of Five V4.
Since safety can not be confirmed, please do not use on FE 7.

A ROM with many data that FEBuilderGBA does not know will likely fail.
The more structs and patches that FEBuilderGBA supports, the more probability that it will succeed in Rebuild.

even with FE 8, the success rate decreases the more you do the original extension that FEBuilderGBA does not know.

“Show map emotion” Patch

Icon List
00=!
01=Umm
02=Heart
03=Anger
04=Cold sweat
05=Failed
06=?
07=Inspiration
08=Lucky
09=…
0A=Zzz
0B=WaiWai
0C=Up↑
0D=Down↓

4 Likes

This is amazin!! Especially the emoji part.

1 Like

00=!

01=Umm

02=Heart

03=Anger

04=Cold sweat

05=Failed

06=?

07=Inspiration

However, this will be replaced the next time.

08=Lucky

09=…

0A=Zzz

0B=WaiWai

0C=Up↑

0D=Down↓

From 02=Heart to 0D=Down↓, kenpuku wrote an icon, so it is a very beautiful icon.
You can also change and extends the more icons , and change the sound when displaying them.
Enjoy!

6 Likes

How do I create unique boss quotes for certain characters? It just seems to play the generic >ALL quote instead when I’m attacking with the right character.

Are you talking about “Switch the death Quote for each unit who is killer” patch?
This patch scans the table sequentially from the top and uses the first matched data.

Have you written “Unit=O’Neill Killer=ANY” in the upper direction?
Then, it matches ANY and the scan ends there.
It does not match “Unit=O’Neill Killer=Eirika” set down.

Please right click on the list and rearrange the order.

BAD
Unit=O’Neill Killer=ANY
Unit=O’Neill Killer=Eirika

GOOD
Unit=O’Neill Killer=Eirika
Unit=O’Neill Killer=ANY

All these emotions are awesome! They give much more dept to the interactions that occur on the map. Thanks for this.

2 Likes

Skills bleed onto other units- replacing the skills they should have.

but when I change the unit # it fixes it. I am using 1b (enemy) as the unit # when the glitch occurs. THis happens when the enemies share the #- but when I change the number for each class their skills are normal.

OHHH so if I want a quote to play say
Eirika with O’Neil, it would have to be before O’Neill and ANY?

What is unit # ?
What do you mean.

How can I reproduce it?

Individual settings must be placed before “ANY”.

Unit=O’Neill Killer=Eirika //When Eirika kill the O’Neill.
Unit=O’Neill Killer=Seth //When Seth kill the O’Neill.
Unit=O’Neill Killer=ANY //When any kill the O’Neill.

I am having an issue where once u reload an ingame save all of the units disappear. I know this may not be the correct place to ask for help with this but I don’t really know of anywhere else. Does anyone know what might be causing this?