FE_Builder_GBA -- If you have any questions, attach report7z

In GBAFE, there is only one STR parameter.

If it is a wizard, the parameter of STR is written as MAG.
If it is not a wizard, STR parameters are denoted STR.

It is different only in the name of the same parameter.
Parameter variables are identical.

ArgumentOutOfRangeException can not necessarily be reproduced in the map size change dialog of the map editor.
Sometimes this error is reported, but I’m not sure how to reproduce this error.
If you encounter this error please send me an ups patch to reproduce it with discord.
In order to avoid this error, I am paying attention to setting the value, but I still can not understand the condition for error.

System.ArgumentOutOfRangeException Value of ‘xx’ is not valid for ‘Value’.
‘Value’ should be between ‘Minimum’ and ‘Maximum’.

I edited weapons to boost health. However, when healed with a staff (healing with items have no problem) it only restores to the character’s original health, leaving the boosted portion blank. A second heal on the same character without them taking damage is possible, but freezes the game. What is the problem?

How many amplifications did you specify for each item?
If specific information is not written, I can not answer the question.
I can not be reproduced either.

I can only guess.
To recover and receive damage is thought to have caused HP to over-amplify, overflow and become a negative number.

The important thing is information to reproduce.
If it can not be reproduced, the problem can not be solved.
Please make a concrete description of how to reproduce.
Or send me an ups patch and sav data to reproduce the bug.

It didn’t matter the boost amount. If the unit is equipped with a weapon that boosted health and is heal with a staff, the glitch occurs. Here is a patch where you can see the glitch. Just equip Erika with the iron sword, then try and heal her with Seth.
http://www.mediafire.com/file/d32rchq0rk9qwzn/FE8%20Chaos%20Mode%20.emulator.PATCH.20180302162952.ups

Thanks for the ups patch.
The problem was reproduced.

It seems like a bug in SkillSystems.

If you make a statbooster that raises the upper limit of HP and recover with heal, it will recover ignoring HP’s upper limit.

It does not occur in vanilla.
It occurs when I insert SkillSystem.
It occurs in both SkillSystems 20171130 and SkillSystems 20180214.

It also occurred on the boss rush stage of the latest version skill system downloaded from github.
I think that this is not a problem of FEBuilderGBA.

I gave a bug report to SkillSystems.

I think that bugs will be fixed in the future,
In the current SkillSystems, please do not make items to increase HP if equipped.

The issue should new be fixed in the github (only one skill was changed, Live to Serve), I tested every scenario I could think of and it seems to be fixed, please let me know if the problem persists.

I have found another bug with weapons in fe6.
I have tried to add new items to the game, but there is an issue with the battle animation.
It works on some classes, like lord, but for other classes, such as social knight, the new weapons play the wrong animation, and this causes a glitch.


This is true even if the weapons have 1 range. The magic animation is set to FFFFF, just like the rest of the melee weapons.

It is very hard to make SkillSystems patches, so please wait a while.

Can you send me an ups file?
I would like to confirm what Magic Animation and Battle Animation settings are like.
Since other items are working correctly, there should be some reason why only this item is not good.

Sent you a patch and some additional information over a private message.

This is a problem that is occurring because the magical weapon level is set to Class: 0x20 Cavalier.

Class: 0x20 Cavalier has both weapon and magic weapon levels set to 255.
Please set the magical weapon level to 0.

Correcting like this will solve the problem.
Always indirect attack animation was loaded because it was judged as a magic occupation.
This is the specification of FE.

At first, I thought that the work memory was contaminated by an excessive icon, I made a misplaced debugging and used a lot of time.
However, the cause was very simple.
It is a problem that is occurring due to incorrect setting of the weapon level of the class.

Oh, I’m very sorry for the inconvience.
Thank you for figuring out the issue for me!
I had not meant to set magic on that class, it’s fortunate it was such a simple fix.

I supported PLIST splitting with the latest version.
Using this function will increase the available PLIST by 6 times.

However, it is a very dangerous feature, so be sure to take a backup before using it.
Also, please clear test after execution and check whether there is a problem.

What is PLIST?

PLIST stands for MAP Pointer List ID.(Maybe).
Map related values of GBAFE are managed with pointer list.
In the map setting, you specify what value of the list to see.

http://ngmansion.xyz/wiki/hackfe/index.php?QA_EN#hcb99358

On FE 7 and FE 8, OBJ, PAL, CONFIG, MAP POINTER, MAP CHANGE, TILEANIMATION 1, TILEANIMATION 2, EVENT POINTER are stored in PLIST.
In FE 6, WMAP EVENT is also stored in PLIST.

PLIST was a byte type because it can be read with ldrb.
Therefore, it could not exceed 255.
It was difficult to add palettes and assign events to unused maps.

However, since the routines to read PLIST are subdivided into each, the list itself can be divided.
Until now, advanced hackers used functions, but from now on, anyone can do it.

This function divides PLIST as follows.

PLIST

CONFIG PLIST
OBJECT & PALETTE PLIST
ANIMATION1 & ANIMATION2 PLIST
MAP PLIST
MAP CHANGE(TILE CHANGE) PLIST
EVENT PLIST

Since it can be divided into 6, the available space is also multiplied by 6.

About OBJECT & PALETTE PLIST and ANIMATION 1 & ANIMATION 2 PLIST.

They could not be divided because there are routines to read both at the same time.
Of course, you can split it by modifying the source code,
Even without doing it, I can expand it by a factor of 6, so I do not believe there is any need to do so.

How to Use.

Please press the PLIST Split button in MAP PLIST Editor.
This will increase PLIST by 6 times.

Please put your favorite data in the increased PLIST.

However, as this is troublesome, FEBuilderGBA has auxiliary function.

Enter Chaptor Editor, change the PLIST you want to assign to 0 and click the label.
For example, the map of MAPID: 0x3F on FE 8 and later has common event PLIST ID.

If you want to allocate and use the value of individual event PLIST for this,.
Please set the Event PLIST of the map to 0 once and click on the label.

Then you will be asked if you want to assign a new one.

From here, please divide and allocate vacant PLIST.

At this time, we will automatically allocate an empty event structure.
You can increase the number of events.

The same is true for pallets as well.
For pallets, copy the existing data.
(It is because it becomes black in an empty palette.).

I wrote it first, but this feature is a dangerous feature.
Be sure to obtain a backup before using it.
This function is for the person who is troubled because there is not enough PLIST.

Later, I will make an explanation page with images.

4 Likes

Could you consider releasing this PLIST Splitter in asm format please? I’m making my project through Event Assembler the build files way and this would be a massive help for that.

Also some food for thought for FEBuilder overall: you could add the ability to export and import lists to an Excel format. it would narrow the gap between what’s possible with Event Assembler and what’s possible with FEBuilder. You could then consider adding a mass-import from directory/folder option (for the lists I mentioned and even for graphics, animations, and maps) for users not to have to rely on backups/importing by hand as much. I like your GUI (so much!) but it still lacks the precision and speed of Event Assembler at the moment. Thanks for all your tireless efforts :slight_smile:

1 Like

Might I join in on the request train by asking if you could add two specific buttons I believe FEBuilder is missing.
The first of which is a button to extend the effectiveness table. More of a pipe dream for those who wish to use FEBuilder for their hack, just something I noticed was not there.

The second of which, also the more simpler, a button to allow for more class skill lists to be made. Probably said that horribly wrong so I’ll try and explain. In FEBuilder, I have yet to find a way to add skills to a class like Revenant and would like the option to be more obvious (or add an option).

Bug. I was workng on a custom animation and i need to look at one script so from a clean fe8 rom, i exported the script of the falcon knight. And the script was mess up. Overwriting a good chuk of the meele and critical animations with just frame 24.

15 p- fakf_sp1_023.png
C35 #Play longer wing flapping SFE
3 p- fakf_sp1_024.png
1 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
2 p- fakf_sp1_024.png
1 p- fakf_sp1_024.png
1 p- fakf_sp1_024.png
1 p- fakf_sp1_024.png
C25 #Play wing flap SFE
2 p- fakf_sp1_025.png

To see the bug just pick a clean fe8 rom export the falcon knight and then import it back.

About PLIST Split pointer.
Is it OK with FE8U?

The address of the pointer to be rewritten is as follows.
Also search other source series for other series, depending on the name.

ROMFE8U.cs

public uint map_config_pointer() { return 0x019900; } //マップ設定の開始位置(config)
public uint map_obj_pointer() { return 0x019968; } //マップ設定の開始位置(obj) objとpalは同時参照があるので、同一値である必要がある
public uint map_pal_pointer() { return 0x01999C; } //マップ設定の開始位置(pal) objとpalは同時参照があるので、同一値である必要がある
public uint map_tileanime1_pointer() { return 0x030134; } //マップ設定の開始位置(titleanime1)titleanime1とtitleanime2は同時参照があるので、同一値である必要がある
public uint map_tileanime2_pointer() { return 0x030C78; } //マップ設定の開始位置(titleanime2)titleanime1とtitleanime2は同時参照があるので、同一値である必要がある
public uint map_map_pointer_pointer() { return 0x034680; } //マップ設定の開始位置(map)
public uint map_mapchange_pointer() { return 0x0346AC; } //マップ設定の開始位置(mapchange)
public uint map_event_pointer() { return 0x0346DC; } //マップ設定の開始位置(event)
public uint map_worldmapevent_pointer() { return 0x0; } //マップ設定の開始位置(worldmap (FE6のみ))

It is necessary to write the same value for
obj and pal,
tileanime 1 and tileanime 2.

Please refer to MapPointerForm.PListSplitsExpands Method.

You can extend PLIST with FEBuilderGBA, watch the actual ROM in a hex editor.
I think that it is easier to understand by acquiring the source code which disassembled all the ROM using the disassemble function all.
you can understand the meaning of the pointer address being rewritten by the part accessing MAPPOINTER and the reference value of ldrb.

1 Like

The first of which is a button to extend the effectiveness table. More of a pipe dream for those who >wish to use FEBuilder for their hack, just something I noticed was not there.

Do you mean this feature?
Does that mean that the location is difficult to understand?

The second of which, also the more simpler, a button to allow for more class skill lists to be made. >Probably said that horribly wrong so I’ll try and explain. In FEBuilder, I have yet to find a way to >add skills to a class like Revenant and would like the option to be more obvious (or add an option).

Is this also this feature?

The skill system is a patch expansion.
So, there may be, or maybe not.
Also, it is only for FE 8, the patch mounting method differs between FE8U and FE8J.
Therefore, it is difficult to make a link to guide in the class editor.

I am looking for a better way, guidance method.

1 Like

About falcon knight.
I will investigate later.

Classes existing from FE 6 have somewhere unusual data.
Perhaps, falcon knight may be so.

FE developers, IS are writing handwritten sheets directly, and it seems that OAM is also directly created by hand.
Therefore, they can make a lot of magical animations that we can not do.
Throwing a brave shield, flapping a mant of a mage, and a bow and arrow of barista, these are one of what it can do are handwriting.
They have human resources and capital strength.(w

Handwritten animation sheets are very difficult.
So, we are making animation using animation script defined by FEEditorAdv.
This method makes animation relatively easy,
but., with this method, it is not possible to obtain the effect that can be obtained by directly writing a sheet by handwriting.